© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2022
「これについては、「%LOGDIR%%TMPFILE2%」で引き渡された文字列に**「”」が入っていないかを確認**」
につきましては、
z080987_S_CWBPO4_20220315090545493_L.rec
という記載が、zの後の数字やサーバーが違ったり、時間が違ったりするだけで
特に「"」は含まれていませんでした。
これは何なの。
rem @echo off
だから、見れば分かるはず。
PowerShell -command "Get-Content %LOGDIR%%TMPFILE2% | Sort-Object | Get-Unique -i -w 7 do echo %%C" >> %LOGDIR%%TMPFILE3%
は、powershellには、こう渡る。
PowerShell -command "Get-Content "C:\temp\ESS-REC\Server\Log""tmpfile2.txt" | Sort-Object | Get-Unique -i -w 7 do echo %C"
こんな風に"~"が解釈される。 powershellでは、"は"のエスケープ。(%%はバッチで%のエスケープ。) 結果、
文字列に終端記号 " がありません。
となる。
set LOGDIR="C:\temp\ESS-REC\Server\Log"
set RECFILE="E:\ESS REC\Server\Data%Y%%M%"
set TMPFILE1="tmpfile1.txt"
set TMPFILE2="tmpfile2.txt"
set TMPFILE3="tmpfile3.txt"
set TMPFILE4="tmpfile4.txt"
ふつう、"で囲まないでしょう。やめたほうがよい。
でも、そうするなら、外し方を知らないでどうする。
%LOGDIR:"=%%TMPFILE2:"=%