Добавить текст с помощью .bat - PullRequest
       37

Добавить текст с помощью .bat

22 голосов
/ 28 февраля 2011

Я хочу создать журнал каждой операции, обработанной в командном файле и использующей следующее, но безрезультатно. Как это исправить (файл не был создан)?

REM>> C:\"VTS\ADVANCED TOOLS\SYSTEM\LOG\Advanced tools %date%.log"

Ответы [ 3 ]

44 голосов
/ 28 февраля 2011

Вам нужно использовать ECHO. Кроме того, заключите в кавычки весь путь к файлу, если он содержит пробелы.

Еще одно примечание, используйте >, чтобы перезаписать файл, если он существует, или создать, если он не существует. Используйте >>, чтобы добавить к существующему файлу или создать, если он не существует.

Перезаписать файл пустой строкой:

ECHO.>"C:\My folder\Myfile.log"

Добавить пустую строку в файл:

ECHO.>>"C:\My folder\Myfile.log"

Добавить текст в файл:

ECHO Some text>>"C:\My folder\Myfile.log"

Добавить переменную в файл:

ECHO %MY_VARIABLE%>>"C:\My folder\Myfile.log"
5 голосов
/ 28 февраля 2011

Я не очень разбираюсь в пакетных сценариях, но могу сказать, что REM означает Remark. Добавление не произойдет, поскольку оно по существу закомментировано.

http://technet.microsoft.com/en-us/library/bb490986.aspx

Кроме того, оператор добавления перенаправляет вывод команды в файл. В размещенном вами фрагменте не ясно, какой вывод следует перенаправить.

4 голосов
/ 28 февраля 2011

Любая строка, начинающаяся с «REM», обрабатывается как комментарий, ничего не выполняется, включая перенаправление.

Кроме того, переменная% date% может содержать символы "/", которые обрабатываются как символы разделителя пути, что приводит к невозможности создания желаемого файла журнала системой.

...