2012-01-09 117 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 2012-01-09 20:05:14

+1

jeb秒杀我 - 它在我的机器上工作。您发布的确切代码是否会失败? – dbenham 2012-01-09 20:06:46

+1

@Bali C - 权限问题不会导致文件被命名为OUTFILE。这只会导致没有创建文件的错误。 – dbenham 2012-01-10 15:02:33

回答

1

dbenham是正确的。

不能创建在一个位置的文件你有它的方式,但你可以解决这个问题...

这将工作,但是,如果你做到以下几点:

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 

通过改变文本创建文件的事实,而不是尝试在变量中设置文件名,这使得这个工作成为可能。