1

を使用して、あるバッチ ファイルを別のバッチ ファイルから書き込もうとしていますecho。しかし、書き方がわからない特殊文字のある行が 1 行あります。

次の行があります。

echo >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" >> "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\OrchestrationCleanUp.bat"

しかし、ターゲットファイルに書き込まれるのは次のとおりです。

 "C:\Windows\system32\cacls.exe" "C:\Windows\system32\config\system" 

そのはず:

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

二重引用符で囲んでみました。

>の前に^を入れてみました

変数に入れて二重引用符でエスケープしようとしました

変数に入れて使用してみました!両端に

変数に入れて、変数名の最後に : を使用してみました。

4

1 に答える 1

5

特殊文字はエスケープする必要があり^%記号は二重にする必要があります。これを試して:

エコーの(直後は、一部の先頭文字の問題が停止します。

echo(^>nul 2^>^&1 "%%SYSTEMROOT%%\system32\cacls.exe" "%%SYSTEMROOT%%\system32\config\system" >> "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\OrchestrationCleanUp.bat"
于 2013-10-21T05:47:18.970 に答える