CMD错误文件名/目录错误

时间:2017-07-03 21:40:07

标签: windows batch-file cmd windows-10

我曾经为批处理文件编程工作,但是我退出了很长一段时间,现在我又重新上班了,似乎有点问题。 我尝试在批处理文件中使用CMD命令编辑txt个文件:

e.g。 echo hello >> *.txt

问题是我想将文本添加到该目录中的所有txt文件中,我记得*表示该目录中具有相同扩展名的所有文件,除非它用作*.*然后它包含所有文件,但现在只需将此错误写入cmd:

  

文件名,目录名或卷标语法不正确。

任何人都可以提供一些帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以使用带有FOR /F命令的DIR循环来迭代完整路径并将其传递到重定向追加>>以相应地回显文本文件。

示例FOR循环

请务必将Folder=变量的值更改为您需要使用ECHO命令附加到文件的目录。

确认的工作批处理脚本示例

@ECHO ON
SET Folder=C:\MyFolder
CD /D "%Folder%"
FOR /F "TOKENS=*" %%A IN ('DIR /B /A-D "%Folder%\*.txt"') DO ECHO HELLO>>%%~fA
PAUSE
EXIT

更多资源

  • DIR
  • FOR /F

      

    此外,已替换FOR变量引用   增强。您现在可以使用以下可选语法:

    %~I         - expands %I removing any surrounding quotes (")
    %~fI        - expands %I to a fully qualified path name
    %~dI        - expands %I to a drive letter only
    %~pI        - expands %I to a path only
    %~nI        - expands %I to a file name only
    %~xI        - expands %I to a file extension only
    %~sI        - expanded path contains short names only
    %~aI        - expands %I to file attributes of file
    %~tI        - expands %I to date/time of file
    %~zI        - expands %I to size of file
    %~$PATH:I   - searches the directories listed in the PATH
                   environment variable and expands %I to the
                   fully qualified name of the first one found.
                   If the environment variable name is not
                   defined or the file is not found by the
                   search, then this modifier expands to the
                   empty string