ss64.comに出くわしました。これは、Windowsコマンドインタープリターが実行するバッチスクリプトの作成方法に関する優れたヘルプを提供します。
しかし、バッチスクリプトの文法、展開する方法と展開しない方法、およびエスケープする方法についての適切な説明を見つけることができませんでした。
これが私が解決できなかったサンプルの質問です:
- 見積もりシステムはどのように管理されていますか?TinyPerlスクリプト
( )を作成foreach $i (@ARGV) { print '*' . $i ; }
し、コンパイルして、次のように呼び出しました。my_script.exe "a ""b"" c"
→出力は*a "b*c
my_script.exe """a b c"""
→出力する*"a*b*c"
echo
内部コマンドはどのように機能しますか?そのコマンド内で何が展開されますか?- なぜ
for [...] %%I
ファイルスクリプトで使用する必要があるのにfor [...] %I
、インタラクティブセッションで使用する必要があるのですか? - エスケープ文字とは何ですか、またどのようなコンテキストでですか?パーセント記号をエスケープする方法は?たとえば、
%PROCESSOR_ARCHITECTURE%
文字通りエコーするにはどうすればよいですか?私はそれがうまくいくことを発見しましたecho.exe %""PROCESSOR_ARCHITECTURE%
、より良い解決策はありますか? - ペアはどのように
%
一致しますか?例:set b=a
、echo %a %b% c%
→%a a c%
set a =b
、echo %a %b% c%
→bb% c%
- この変数に二重引用符が含まれている場合、変数が単一の引数としてコマンドに渡されるようにするにはどうすればよいですか?
set
コマンドを使用するとき、変数はどのように保存されますか?たとえば、set a=a" b
そうすると、echo.%a%
を取得しa" b
ます。ただしecho.exe
、UnxUtilsから使用すると、が得られa b
ます。どうして%a%
違う方法で拡大するのですか?
ライトありがとうございます。