代码之家  ›  专栏  ›  技术社区  ›  dev.e.loper

正在尝试使用批处理文件。没有输出,什么都没有发生

  •  0
  • dev.e.loper  · 技术社区  · 15 年前

    我试图逐个传递文件(因为可执行文件一次只接受一个文件,所以我必须点)。所以,在我的一批产品中,我有以下几点:

    FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file 
    

    我应该查看同一目录中的文件,但不会发生任何错误,也不会显示任何错误。 我这里有什么东西不见了吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    您的示例中有几个错误:

    • FOR 参数名仅为一个字母
    • CALL 用于调用现有批处理文件中的其他批处理文件或子例程,而不是可执行文件
    • 这个 为了 在批处理文件中,参数应引用为2%。
    • 如果在目录或任何子目录中运行此命令,或者如果任何文件的名称中有空格,则需要使用非空格分隔符。

    考虑到这些,下面是您应该使用的正确命令:

    for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f"
    

    这里是 my answer 对于一个类似的问题,在这里我给出了更多关于使用 为了 处理目录中的所有文件。