2012-01-09 2 views
3

В пакетном файле Windows я пытаюсь перенаправить вывод в имя файла, указанное переменной. Я должен упустить что-то очевидное, но я продолжаю получать файлы, созданные с моим именем переменной для имени файла. Каков правильный способ решить эту проблему?Перенаправить вывод в имя файла, указанный VAR

SET OUTFILE="%TEMP%\MyOutput.txt" 

REM hopefully, create a MyOutput.txt file in the temp folder with "some text" as content 
echo some text > %OUTFILE% 
+1

Что вы получаете? Он должен работать таким образом. – jeb

+1

jeb избили меня за секунды - он работает на моей машине. Точный код, который вы опубликовали, не соответствует вашим? – dbenham

+1

@Bali C - проблема с разрешениями не приведет к тому, что файл будет называться OUTFILE. Это просто приведет к ошибке без создания файла. – dbenham

ответ

1

dbenham is right.

Вы не можете создать файл в месте, как у вас есть, но вы можете обойти это ...

Это будет работать, однако, если вы сделаете следующее:

SET OUTFILE=%TEMP% 

REM hopefully, create a MyOutput.txt file in the temp folder with "some text" as content 
echo some text > %OUTFILE%\MyOutput.txt 

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

Смежные вопросы