前提・実現したいこと
&のエスケープについて。
下記は、現在の日時がファイル名になり、ファイルの内容にログを書き込むというバッチファイルのプログラムです。
ログに&を含む文言を書き込みたいです。
(本当に実現したい内容は別ですが、これが解決すれば実現できます。)
発生している問題・エラーメッセージ
下記が実行できません call :log_command aaa^&bb
該当のソースコード
@echo off setlocal enabledelayedexpansion set year=%date:~0,4% set month=%date:~5,2% set day=%date:~8,2% set now_date=%year%%month%%day% call :log_command aaa^&bb exit /b :log_command set hour=%TIME:~0,2% set minute=%TIME:~3,2% set second=%TIME:~6,2% set now_time=!hour!:!minute!:!second! echo !now_time! %1 echo !now_time! %1 >> %~dp0%now_date%.log exit /b
試したこと
下記のようにするとaaaまでしか書き込めません。
call :log_command aaa&bb
全角にすれば書き込めますが、求めているものと違います。
call :log_command aaa&bb
""を使えばエスケープできますが、""が残ってしまいます。
変数に入れて切り出せば""は消去できますが、やっぱり&は出力できません。
call :log_command "aaa&bb"
どこを読んでも、&は^でエスケープできると書いてありますが、どうしても&が出力できません。
お力添えいただければ幸いです。よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
windows7

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/11 12:50