作者kslman ()
看板EzHotKey
标题[批次] 用for delims切逗号 tokens的问题
时间Sat May 9 18:39:01 2020
指令是这样:
For /f "delims=, tokens=1" %a in (.\test.txt) do @if exist %a echo %a
text.txt的内容类似这样:
HashMyFiles.cfg,b64024e1b47393606d62c64e7546ae56,,,,,,C:\Dropbox\
HashMyFiles.chm,ee90eae5744b57ef24e8d4f2f42de4b7,,,,,,C:\Dropbox\
输出的内容会是这样:
HashMyFiles.cfg
HashMyFiles.chm
但用:
For /f "delims=, tokens=2" %a in (.\test.txt) do @if exist %a echo %a
这样的时候就不会有内容
但用:
For /f "delims=, tokens=3" %a in (.\test.txt) do @if exist %a echo %a
又可以正确得到:
C:\Dropbox\
C:\Dropbox\
想请问为什麽tokens=2的时候反而无法显示?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.187.80.162 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1589020743.A.9F5.html
1F:推 zi98btcc: tokens=2 就是第2个就是b64...56和ee9...b7, 05/09 19:19
2F:→ zi98btcc: 它们不存在於档案系统吧! not exist 所以就 not echo 05/09 19:20
喔原来如此,我还以为可以用来解析字串...
PS:我找到我想写的写法了,谢谢
For /f "delims=, tokens=2" %a in (.\test.txt) do ECHO %a>>temp.txt
※ 编辑: kslman (218.187.80.162 台湾), 05/09/2020 21:11:38