如何让我的批处理脚本在每次执行时编写新的文本文件?

时间:2013-11-27 11:07:27

标签: batch-file

我有一个批处理脚本。我希望批处理脚本应该覆盖现有文件,但它不应该覆盖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循环变量的条目。

由于

2 个答案:

答案 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
相关问题