Board logo

标题: for 命令处理 带括号文件名 问题 [打印本页]

作者: qq43142691     时间: 2007-12-16 11:41    标题: 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 ]
作者: lxmxn     时间: 2007-12-16 21:00
哪个变量里面包含“c:\windows\(aaa)XXX.bat”?

%ur%里面?%n%里面?%%?里面?
作者: qq43142691     时间: 2007-12-19 02:03
%ur%里面  就是我搜索到的文件后获取 他MD5 。。如果文件带括号就出错了。。
LXMXN帮下忙哇。。偶知道你肯定可以的
作者: qq43142691     时间: 2007-12-19 10:44

@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

作者: lxmxn     时间: 2007-12-20 00:58

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

作者: qq43142691     时间: 2007-12-21 22:26
不行啊。。。。
处理这样的 文件时候  f:\2\2(333).bat
还是一样出错。。。处理带括号的文件名的文件出错
此时不应有 .bat
作者: lxmxn     时间: 2007-12-21 22:51
我测试用你一楼的方法都可以。
作者: knoppix7     时间: 2007-12-22 10:12
来个引号。然后在usebackq?
早上米时间试了....
作者: lxmxn     时间: 2007-12-22 12:29
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>