2013-11-27 2 views
0

У меня есть пакетный скрипт. Я хочу, чтобы пакетный скрипт должен перезаписать существующий файл, но он не должен перезаписывать записи цикла 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 

Я хочу, чтобы новый текстовый файл каждый раз я выполняю script.Also я хочу не перезаписывать запись предыдущей для переменной цикла.

Благодаря

ответ

0

Если вы используете одной стрелкой

> 

Он будет перезаписать файл, или если вы используете несколько стрел

>> 

Он будет добавлен к файлу.

Таким образом, использовать> для первого цикла, и >> для последующих циклов

+0

, но я также хочу, чтобы удалить текстовые файлы при выполнении первого скрипта? Как мне это сделать. означает, что я хочу поставить эту инструкцию delete в первой строке скрипта. –

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 
Смежные вопросы