16

パラメータにパスワードを指定してコマンドを実行しようとする Windows .bat スクリプトがあります。使用できるようにしたいパスワードは です~!@#$%^&*()_+|-=\][{}';:"/.>?,<

ここで読んだことから、 でエスケープ^&|\<>する必要があり^ます。私が推測することから、私は で逃げる必要が"あり\"ます。

これは私にそのようなものを与えます:

runme.exe /password:"~!@#$%^^^&*()_+^|-=^\][{}';:\"/.^>?,^<"

しかし、うまくいきません - ターゲット アプリがログオン失敗で応答します。

これらすべての文字をエスケープして、バッチでパスワードをハードコーディングできるようにするにはどうすればよいですか (セキュリティの問題は今のところ無視しています)。

4

2 に答える 2

16

パスワードの引用符を二重にし、完全なパスワードも引用符で囲んでください。

runme.exe /password:"~!@#$%%^^^&*()_+^|-=\][{}';:""/.>?,<"
于 2012-04-24T12:11:44.477 に答える
1

これを試してみてください。ただし、runme.exeの引数パーサーでパスワードの文字列カプセル化として引用符が必要な場合は、機能しません。パスワードに引用符を含める必要がある場合は、runme.exeがパスワードをエスケープする方法を提供する必要があります。

runme.exe /password:~!@#$%%^^^&*()_+^|-=\][{}';:"/.>?,<
于 2012-04-24T10:59:05.230 に答える