如何才能使用分隔符的同时,取得的列中仍然包含分隔符?
比如,list3.txt:
85cb5a1551f8e7a11f0f4ed03eef5c8d(dsfd) tmp 8.tmp
3dfaffe2e1daa7852db71b3898092869(dsfd) tmp 38.tmp
a4095db298534256e1206f7ae73e930d(dsfd) tmp 39.tmp
50afb9e91edc58288bcc056a07338f86(dsfd) tmp 45.tmp
cbe586bfa4122745fad28cdb3239e50f(dsfd) 002[1].htm
c1de03c5df786f335df3c80a2e6e4de5(dsfd) 101[1].exe
62d6d0c01e36e3446586dad39bb36f0b(dsfd) 102[1].exe
2723d0ec0b0d402599f1966fb766014c(dsfd) 104[1].exe
左边为md5值+其他,可能会有空格,因此不能用缺省的分隔符,右面为原始文件名也可能有空格,要把左列文件名改为右列的文件名。
我这里测试,发现拥右括号作为分隔符后,第一列取值不包含右括号,因此改名失败。
for /f "tokens=1* delims=)\" %%a in (list3.txt) do @echo %%a
还有什么好办法么?
比如,list3.txt:
85cb5a1551f8e7a11f0f4ed03eef5c8d(dsfd) tmp 8.tmp
3dfaffe2e1daa7852db71b3898092869(dsfd) tmp 38.tmp
a4095db298534256e1206f7ae73e930d(dsfd) tmp 39.tmp
50afb9e91edc58288bcc056a07338f86(dsfd) tmp 45.tmp
cbe586bfa4122745fad28cdb3239e50f(dsfd) 002[1].htm
c1de03c5df786f335df3c80a2e6e4de5(dsfd) 101[1].exe
62d6d0c01e36e3446586dad39bb36f0b(dsfd) 102[1].exe
2723d0ec0b0d402599f1966fb766014c(dsfd) 104[1].exe
左边为md5值+其他,可能会有空格,因此不能用缺省的分隔符,右面为原始文件名也可能有空格,要把左列文件名改为右列的文件名。
我这里测试,发现拥右括号作为分隔符后,第一列取值不包含右括号,因此改名失败。
for /f "tokens=1* delims=)\" %%a in (list3.txt) do @echo %%a
还有什么好办法么?
