我有一个批处理脚本。我希望批处理脚本应该覆盖现有文件,但它不应该覆盖for循环条目?
PFB批处理文件的内容:
for /f "tokens=2" %%s in (%EC2_HOME%\Volumes.txt) do call ec2-describe-snapshots --filter "volume-id=%%s">>%EC2_HOME%\Snapshots.txt
每次执行脚本时我都想要一个新的文本文件。我也希望它不会覆盖前一个for循环变量的条目。
由于
答案 0 :(得分:0)
如果您使用单箭头
>
它将覆盖该文件,或者如果您使用多个箭头
>>
它将附加到该文件。
所以,使用>对于第一个for循环,>>用于后续循环
答案 1 :(得分:0)
你可以尝试
rem Remove file contents
break > %EC2_HOME%\Snapshots.txt
for /f "tokens=2" %%s in (%EC2_HOME%\Volumes.txt) do (
call ec2-describe-snapshots --filter "volume-id=%%s" >> %EC2_HOME%\Snapshots.txt
)
或者,
(
for /f "tokens=2" %%s in (%EC2_HOME%\Volumes.txt) do (
call ec2-describe-snapshots --filter "volume-id=%%s"
)
) > %EC2_HOME%\Snapshots.txt