为什么一行中的以下多个DOS命令无法正常工作? (传递价值观)

时间:2014-06-02 12:22:30

标签: cmd dos

我正在尝试通过DOS命令创建一个文本文件。在创建文件之前,命令会询问一个文件的名称。我看了herehere以及其他地方让我开始。

我希望代码能够在一行中运行。所以,我应该能够在Windows Start>中键入整个代码。运行框。

这就是我所拥有的:

cmd /k @ECHO OFF & SET /P filename=What File name: & copy NUL %filename%.txt & :End

然而,这会忽略我在询问时提供的文件的名称,并创建%filename%.txt。

我尝试在单词copy之前将操作符更改为|,&&和&但是这些人甚至不会问我文件名,而只是创建%filename%.txt

此外,cmd框在创建文本文件后保持打开状态。

P.S。我知道我可以在/q之前使用/k来回显。

我期待着你的帮助。

1 个答案:

答案 0 :(得分:1)

这适用于此:延迟扩展用于另一个cmd进程

cmd /c @ECHO OFF & SET /P filename=What File name: & cmd /v /c copy NUL !filename!.txt & exit 

命令行没有为目录定义路径,使用RUN框时,它可能会在c:\windows\system32文件夹中创建,除非您没有该文件夹的写入权限。