本当にメモ。
例えばバッチファイルの引数にファイルパスを渡して、ファイル名の末尾に拡張子を追加して新しいファイルを作成したいとき、という限定的なシチュエーション。
引数で渡したいファイルパスはc:\document and setting\temp\とかでスペースを含んでいるっていうさらに限定的なシチュエーション。
バッチファイルをhoge.batとすると、パスを引数で渡すときは
hoge.bat "c:\document and setting\temp\fuga.txt"
って感じでダブルクオーテーションで囲む。じゃないとスペースのところで引数が二つに分かれてしまう。
つまりバッチファイルで受け取るとき、
set newfile=%1
ってしたときにnewfile=c:\documentになってしまうため。で、これに拡張子を追加しようとすると
set newfile=%1.ext
としたいが、これだと%1にダブルクオーテーションが含まれてしまっているので大変だ!ってことになるので以下のようにする。
set newfile="%~1.ext"
まあ要はこういうページをちゃんと見ろって言う、ここまで引っ張ってつまらない話。備忘録。あとで使えるようにダブルクオーテーションで囲んでおく。まあ、このへんははまらないようにするための備忘録。あとはコマンドプロンプトで「help set」って打てば環境変数の文字列置換のことも書いてある。
以上
Add Your Comment