Как закрыть файл, созданный из командной строки? - PullRequest
0 голосов
/ 24 сентября 2010

Я записываю вывод командной строки в файл, а затем хочу открыть этот файл в блокноте. Поэтому я написал что-то вроде следующего (упрощенный пример):

set logPath=log.txt
echo %date% %time% > %logPath%
notepad %logPath%

Но проблема в том, что когда выполняется последняя команда (notepad% logPath%), файл еще не создан (или содержимое не сбрасывается в него), поэтому блокнот не открывает несуществующий файл или открывает пустой (зависит).

Итак, я хотел бы знать, есть ли способ принудительно закрыть файл из командной строки.

UPD: спасибо за комментарии, вы правы: этот конкретный (упрощенный) пример действительно работает. Я пробовал на W7, и в комментариях есть сообщения, что он работает в XP и Vista. В оригинальном сценарии этого нет, будет пытаться найти там ошибку.

Ответы [ 3 ]

0 голосов
/ 24 сентября 2010

Попробуйте это:

echo %date% %time% > log.txt
notepad %logPath%

Я думаю, он ожидает имя файла при перенаправлении, а не имя переменной.

0 голосов
/ 24 сентября 2010

Проблема кажется странной, но если она возникла, почему бы не подождать секунду

CHOICE /C:x /T:x,1 > NUL
0 голосов
/ 24 сентября 2010

Ваш пример кода работает для меня под Microsoft Windows XP [версия 5.1.2600]. Насколько я знаю, вам нужно только закрыть файл, который вы открыли, а трубопровод не открывается.

Итак, вам следует проверить свой настоящий код на наличие ошибок (обновите свой вопрос?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...