在批处理文件中创建文件命令(* .bat)

时间:2010-01-12 03:23:12

标签: windows batch-file

我想使用批处理文件(%tv%)在文件夹*.bat中创建名为“new text document.txt”的文件。这是我的批处理文件:

set tv=D:\prog\arpack96\ARPACK\SRC
cd "%tv%"
@CON >> "new text document.txt"
set tv=

虽然我可以在%tv%中真正创建文件,但是当我运行上面的批处理文件时,我会收到一条错误消息

  

''不被视为内部   或外部命令,可操作程序   或批处理文件。

有没有摆脱这个错误信息?或者我使用错误的命令创建文件?

4 个答案:

答案 0 :(得分:6)

为了在不必提供用户交互的情况下获得真正空的文件,您可以使用set /p命令,但有一点技巧:

set tv=c:\documents and settings\administrator
cd "%tv%"
<nul >"new text document.txt" (set /p tv=)

set /p字符后输出提示后,tv会要求用户输入=变量。

由于提示为空,因此不会显示提示。由于您正在阅读nul,因此它不会等待用户交互。并且您可以将空字符串直接存储到tv中,从而无需取消设置。


实际上,经过一番思考后,有一种更简单的方法。我过去曾经使用过set /p技巧,因为这是我知道在没有添加换行符的情况下回显文本的唯一方法(非常适合控制台中的进度条)。但如果您想要的只是一个空文件,那么您可以放弃:

copy /y nul "new text document.txt"

copy只是将nul设备(实际上是空文件)的内容复制到新文件名中。 /y是为了确保在不打扰用户的情况下覆盖它。

答案 1 :(得分:4)

从* .bat文件创建一个空文件 - 这对我有用。

echo off > test.txt

答案 2 :(得分:3)

type nul > file.txt

file.txt应该是空的

paxdiablo's answer

答案 3 :(得分:0)

con是Windows专用文件名,不应使用它。

copy con&gt;&gt; FILENAME.TXT

应要求您输入文本,然后您可以通过键入Ctrl Z来保存文本。