質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

意見交換

クローズ

バッチファイルからPowerShellのコマンドを実行したとき、表示されている日本語がおかしくなる問題はどうやって解決できるか。

ypp
ypp

総合スコア48

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

3回答

0グッド

0クリップ

472閲覧

投稿2023/02/03 11:43

バッチファイルから、PowerShellのコマンドでzipファイルを解凍したとき、その前に表示した日本語が二重になります。
イメージ説明

batch

1@echo off 2setlocal enabledelayedexpansion 3chcp 65001 4echo. 5 6set default=C:\Users\%USERNAME%\Downloads\ 7cd !default! 8echo zipファイルを解凍します。 9if not exist "!default!a.zip" ( 10 echo a.zipがありません。 11 goto end 12) 13 14powershell -command "Expand-Archive -Path ""!default!a.zip"""" -DestinationPath ""!default!a""" 15 16if %errorlevel% == 0 ( 17 echo 解凍が正常に完了しました。 18) else ( 19 echo 解凍に失敗しました。 20) 21 22:end 23echo. 24cmd /k

まず、Downloads直下にa.zipを配置して、上のバッチファイルを実行します。
イメージ説明
すると、解凍する前は出力した文字は普通ですが、
イメージ説明
解凍した後は次のように文字が二重になります。
イメージ説明

これってどうにかできるものでしょうか?


また、14行目のpowershell -command "Expand-Archive -Path ""!default!a.zip"""" -DestinationPath ""!default!a"""-Pathの引数には""!default!a.zip""""と、二重引用符を4つ配置しているのですが、これを2つにすると正常に動作しません。腑に落ちないのでどなたかご存じの方いましたらご回答よろしくお願いします。
イメージ説明

Expand-Archive : The path 'C:\Users\user\Downloads\a.zip -DestinationPath C:\Users\user\Downloads\a' either does not ex ist or is not a valid file system path. At line:1 char:1 + Expand-Archive -Path "C:\Users\user\Downloads\a.zip -DestinationPath ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (C:\Users\user\D...ser\Downloads\a:String) [Expand-Archive], InvalidOpe rationException + FullyQualifiedErrorId : ArchiveCmdletPathNotFound,Expand-Archive

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答3

#1

otn

総合スコア81181

投稿2023/02/03 13:33

質問じゃなくて意見交換なのですか?
であれば、UTF-8でバッチファイルを書くのを諦めるというのが良いかと思います。
それでこの問題が解決するのかどうかは知りませんが。

それとも操作ミスで本当は質問ですか?

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

#2

ypp

総合スコア48

投稿2023/02/03 15:01

あれ、間違えてましたね...
削除できないんですね...どうすればいいのでしょう。

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

#3

ypp

総合スコア48

投稿2023/02/07 07:23

回答の締め切り方が分かりませんが、質問を新しく投稿したため、ここで回答を締め切りさせていただきます。

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問

同じタグがついた質問を見る

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。