中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 00:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for 命令处理 带括号文件名 问题 查看 846 回复 8
楼 主 for 命令处理 带括号文件名 问题 发表于 2007-12-16 11:41 ·  中国 广东 东莞 电信
中级用户
★★
积分 326
发帖 152
注册 2007-05-04 06:16
19年会员
UID 87412
性别 男
状态 离线
for /f "tokens=*" %%? in ('md5.exe -n "%ur%"') do (echo %n% %ur%=====%%?>>md5.txt)
当搜索处理 c:\windows\(aaa)XXX.bat 这类包含括号的文件的时候

会提示 不能包含XXX.txt t

版主。。帮下忙。。怎么解决

[ Last edited by qq43142691 on 2007-12-16 at 12:03 PM ]
2 发表于 2007-12-16 21:00 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
哪个变量里面包含“c:\windows\(aaa)XXX.bat”?

%ur%里面?%n%里面?%%?里面?
3 发表于 2007-12-19 02:03 ·  中国 广东 东莞 电信
中级用户
★★
积分 326
发帖 152
注册 2007-05-04 06:16
19年会员
UID 87412
性别 男
状态 离线
%ur%里面 就是我搜索到的文件后获取 他MD5 。。如果文件带括号就出错了。。
LXMXN帮下忙哇。。偶知道你肯定可以的
4 发表于 2007-12-19 10:44 ·  中国 广东 东莞 电信
中级用户
★★
积分 326
发帖 152
注册 2007-05-04 06:16
19年会员
UID 87412
性别 男
状态 离线

@echo off
color 0a
set n=0
type nul>md5.txt
set /p input= 请输入要进行判断的路径:
echo 正在获取信息......
for /f "delims=" %%i in ('dir /s /b /a-d "%input%"') do set ur=%%i&& call :md5
cls
echo 共处理 %n% 个文件
pause
exit
:md5
set/a n+=1
cls
title 正在处理文件第 %n%个文件 %ur%
echo.正在处理文件第 %n%个文件 %ur%
for /f "tokens=*" %%? in ('md5.exe -n "%ur%"') do (echo %n% %ur%=====%%?>>md5.txt)
goto :eof
5 发表于 2007-12-20 00:58 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for /f "usebackq tokens=*" %%? in (`md5.exe -n "%ur%"`) do (echo %n%        %ur%=====%%?>>md5.txt)
6 发表于 2007-12-21 22:26 ·  中国 广东 东莞 电信
中级用户
★★
积分 326
发帖 152
注册 2007-05-04 06:16
19年会员
UID 87412
性别 男
状态 离线
不行啊。。。。
处理这样的 文件时候 f:\2\2(333).bat
还是一样出错。。。处理带括号的文件名的文件出错
此时不应有 .bat
7 发表于 2007-12-21 22:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
我测试用你一楼的方法都可以。
8 发表于 2007-12-22 10:12 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
来个引号。然后在usebackq?
早上米时间试了....
9 发表于 2007-12-22 12:29 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
E:\Cmd\cutest\quote>dir /b
a ( b .txt
a ) b .txt
( c d e f g ) .txt

E:\Cmd\cutest\quote>for %a in (*.txt) do @for /f "delims=" %b in ('md5 -n "%a"') do @echo:%b
906C0D2BD4054C3F03C3C243E7132879
D41D8CD98F00B204E9800998ECF8427E
9AEB7F1A6545B7F3FC45E2B54F614713

E:\Cmd\cutest\quote>
论坛跳转: