标题: [文件操作] 批处理for多数值递归不到后面的值? [打印本页]
作者: hztccy 时间: 昨天 17:11 标题: 批处理for多数值递归不到后面的值?
- @echo off
- CD /D C:\Users
- for %%i in (123.* *456.* 789.*) do (
- echo 可删除的: %%i
- )
复制代码
搜索不到*456.*和789.*只能查找到123.*的文件
对for总是一知半解,搞不懂,我哪里错了
但是我使用CD命令- cd /d C:\users\public\desktop
复制代码
然后在使用- for %%i in (123.* *456.* 789.*) do (
- echo 可删除的: %%i
- )
复制代码
却可以循环123.* *.456.* 789.*全部文件
求大佬指教
作者: 77七 时间: 昨天 19:22
是不是文件有隐藏属性?试一下 dir /b /a-d "C:\Users"
作者: aloha20200628 时间: 昨天 21:00
本帖最后由 aloha20200628 于 2024-11-22 21:10 编辑
回复 1# hztccy
for %%i in (...*...?...) 这个句式仅匹配当前目录下的目标文件,而 123.* 文件在 C:\users 目录下,但 *456.* 789.* 文件却在 C:\users\public\desktop 这个目录下,因此才会导致一楼两段代码的不同结果...
以下代码会匹配出全部目标文件(全路径)- @echo off
- CD /D C:\Users
- for /r %%i in (123.* *456.* 789.*) do (
- echo 可删除的: %%i
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |