去掉@echo off
在每一句后面加个pause,同时在pause前面用echo来显示每个变量的值,这样就能找到是哪一句出问题了。这是我在学习写批处理时想到的,真的很实用。 本帖最后由 dos时代菜鸟 于 2024-3-25 23:40 编辑
哪有那么麻烦?
而且 就楼主需求, 有没有 setlocal enabledelayedexpansion 有啥关系么?
@echo off
setlocal enabledelayedexpansion
for %%w in (c,d,e,f,g,h,i,j,k,l,m) do (
if exist %%w:\ (
pushd %%w:\
for /R .%%i in ( *.txt *.jpg ) do (echo %%~i)
)
)
pause
本帖最后由 dos时代菜鸟 于 2024-3-25 23:54 编辑
@echo off
for %%w in (c,d,e,f,g,h,i,j,k,l,m) do (
if exist %%w:\ (
dir /r /b /s/a-d %%w:\*.txt %%w:\*.jpg
)
)
pause dos时代菜鸟 发表于 2024-3-25 23:36
dir命令竟然可以这样写:
dir /r /b /s /a-d c:\*.txt c:\*.jpg --学习到了,感谢!
/r 显示文件的备用数据流;
/b 使用空格式(没有标题信息或摘要);
/s 显示指定目录和所有子目录中的文件
/a-d 这个代表啥意思 ? /a显示具有指定属性的文件, D 目录,难道/a-d 与/ad是一个意思? 表示只是显示目录? 好像不对啊,显示的文件啊 ,, dir /?
-表示“否”的前缀 szwp 发表于 2024-3-26 16:27
dir /?
-表示“否”的前缀
感谢大师,,
/A 显示具有指定属性的文件。
D目录 R只读文件
H隐藏文件 A准备存档的文件
S系统文件 I无内容索引文件
L重新分析点 O脱机文件
-表示“否”的前缀也就是说 dir /a-d 表示:除了目录不显示,其余都显示。
本帖最后由 likeyouli 于 2024-3-26 22:14 编辑
szwp 发表于 2024-3-26 16:27
dir /?
-表示“否”的前缀
刚又测试了一下,dir /a- 也可以用,dir /a- :是不是表示显示所有的文件和文件夹,包括D、R、H、A等全部属性的文件和文件夹? 貌似也可以用dir /a , 难道dir /a与dir /a- 是等价的 ?
本帖最后由 xs888 于 2024-4-18 08:23 编辑
变量赋值:确认变量 tt 在使用延迟变量之前已经正确地被赋值了。
路径格式:检查 !tt! 中的路径格式是否正确,确保没有任何错误或不规范的字符。
文件权限:确保你有足够的权限访问和处理相关文件和目录。
特殊字符:检查路径中是否包含特殊字符,可能需要进行转义或处理。
代码逻辑:仔细检查代码的逻辑,确保没有其他潜在的问题或错误。
如果问题仍然存在,你可以尝试以下方法:
添加一些调试输出,以便在执行过程中查看变量的值和流程状态。
将代码分解为更小的部分,并逐步测试每个部分,以确定问题出在哪里。
尝试在不同的环境或计算机上运行代码,看看是否有不同的结果。@echo offfor %%w in (c,d,e,f,g,h,i,j,k,l,m,z) do (if exist %%w: ( for /r %%i in (*.zip) do echo %%~i>>pan.txt))pause
进来学习 不懂啊,来看看 谢谢分享,支持原创,楼主不易,了表赞赏。 THANKS YOU VERY MUCH
页:
1
[2]