中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for 命令处理 带括号文件名 问题
作者:
标题: for 命令处理 带括号文件名 问题 上一主题 | 下一主题
qq43142691
中级用户





积分 327
发帖 152
注册 2007-5-4
状态 离线
『楼 主』:  for 命令处理 带括号文件名 问题

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 ]

2007-12-16 11:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

哪个变量里面包含“c:\windows\(aaa)XXX.bat”?

%ur%里面?%n%里面?%%?里面?

2007-12-16 21:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qq43142691
中级用户





积分 327
发帖 152
注册 2007-5-4
状态 离线
『第 3 楼』:  

%ur%里面  就是我搜索到的文件后获取 他MD5 。。如果文件带括号就出错了。。
LXMXN帮下忙哇。。偶知道你肯定可以的

2007-12-19 02:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qq43142691
中级用户





积分 327
发帖 152
注册 2007-5-4
状态 离线
『第 4 楼』:  


@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


2007-12-19 10:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  


for /f "usebackq tokens=*" %%? in (`md5.exe -n "%ur%"`) do (echo %n%        %ur%=====%%?>>md5.txt)


2007-12-20 00:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qq43142691
中级用户





积分 327
发帖 152
注册 2007-5-4
状态 离线
『第 6 楼』:  

不行啊。。。。
处理这样的 文件时候  f:\2\2(333).bat
还是一样出错。。。处理带括号的文件名的文件出错
此时不应有 .bat

2007-12-21 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  

我测试用你一楼的方法都可以。

2007-12-21 22:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 8 楼』:  

来个引号。然后在usebackq?
早上米时间试了....

2007-12-22 10:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  

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>


2007-12-22 12:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: