Board logo

标题: [文件操作] forfiles命令只能书写在一行上吗? [打印本页]

作者: easterling    时间: 2012-11-30 10:59     标题: forfiles命令只能书写在一行上吗?

forfiles命令功能比较强大,但是经我试验,其命令行中的参数/c后面跟的命令字符串只能书写在一行上,而我想执行的命令是带有if else以及for的多个命令,如果都写在一行,则阅读和查错都不方便,对此,有没有好的解决办法?
作者: CrLf    时间: 2012-11-30 13:36

FORFILES /S /M *.txt /C "cmd /c test.bat @relpath"
作者: easterling    时间: 2012-11-30 17:02

FORFILES /S /M *.txt /C "cmd /c test.bat @relpath"
CrLf 发表于 2012-11-30 13:36



  forfiles  /c的变量能怎样才能在test.bat里使用?我在test.bat里写了一行内容为:echo @file,但是不管用啊。
作者: CrLf    时间: 2012-11-30 18:25

回复 3# easterling


    其实只要把文件路径传递给 bat,就可以由 cmd 对参数进行解析了,见 test.bat 示例:
  1. @echo off
  2. echo %~f1
  3. echo %~dp1
  4. echo %~n1
  5. echo %~nx1
  6. rem 仅作示例,其他参考 call /?
  7. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2