https://teratail.com/questions/n72w0ai76k3i6q
前の質問のカテゴリーを間違えて意見交換にしてしまったのでカテゴリーを変えて再投稿させていただきます。
バッチファイルから、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

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。