请教一个cmd的命令

想实现一个简单功能
例如遍历c盘下所有文件夹,查找1.exe的文件,并在存在1.exe的目录下写入1.txt

鼓捣了半天写不出来 请大佬们指点一下

阅读 1.3k
1 个回答

已经是第 2 次问这个问题了吧。既然你鼓捣了半天,不如把你的程序拿出来看看?

虽然我不想写,不过可以给你点提示

  1. 使用 for /? 可以看到 for 的用法,用它可以遍历某个目录,甚至可以递归进去
  2. 使用 if exist 可以判断某个文件是否存在,如果判断目录,可以 if exist dir\nul,其中 nul 是一个空设备文件,在任何目录下都存在,但是 file\nul 是不存在的
  3. for /? 的稍后一部分讲了如果对变量进行取值,比如取某个文件的目录部分,这样你可以拿目录和 1.txt 拼出来你想要的文件路径
  4. 由于 nul 是一个空设备文件,可以用它来生成空文件,比如 copy nul 1.txt,或者 type nul > 1.txt

写完提示之后我突然发现,不需要写递归,所以其实可以这样……一句话,你试试吧

for /r 要查找的目录 %i in (1.exe) do (copy nul %~pi\%~ni.txt)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进