windowsのbat内でファイルがあるときだけ挙動するようにした=if文
適当batファイルを作っていたのですが、手抜きで作っていたのでファイルが無いときの挙動を考えていませんでした。
txtファイルをscpで持ってきて、そのあと後続処理を行うのですが、
ファイルが何らかの理由で取ってこれないときも後続処理が動いてしまい、最後のzip圧縮で空のファイルを作ってしまって
失敗していることに気が付きづらい状態でした。
例)
spc xxxxx.txt .
ren xxxxx.txt dr%date:~-10,4%%date:~-5,2%%date:~-2,2%.txt
"C:\Program Files\CubeICE\cubeice.exe" /c:zip
dr%date:~-10,4%%date:~-5,2%%date:~-2,2%.txt
zip圧縮にはcubeiceを使っています。
これこのままだと、ファイルが取得できなくても最後にzipファイルを作ってしまうので、
とりあえずファイルが取れなかった場合はリネーム、zip圧縮をスルーするようにしました(ファイルが出来なければ問題に気が付く論)
spc xxxxx.txt .
if exist xxxxx.txt (
ren xxxxx.txt dr%date:~-10,4%%date:~-5,2%%date:~-2,2%.txt
"C:\Program Files\CubeICE\cubeice.exe" /c:zip
dr%date:~-10,4%%date:~-5,2%%date:~-2,2%.txt
)
これでうまく行きました。
コメント