[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求教批处理for命令delims的用法解释

for /f "eol=| delims=|" %%i in 1.txt do (                1.txt  文件里是很多个同名但存在在不同目录的文件的完整路径                   使用这个命令后 可以获取到所有的文件名            请教一下,  eol=|      delims=|    这两个是什么意思?

  1. for /f "tokens=*"  %%a in (1.txt) do (
  2.     echo "%%a"
  3. )
复制代码

TOP

回复 18# qixiaobin0715


    明白了,谢谢!

TOP

本帖最后由 qixiaobin0715 于 2021-7-13 21:47 编辑

回复 17# llqcnw
可以说基本没什么用,就是因为文本中不含字符|,才有一点用处,可防止路径中含有空格而默认在此处分隔,但使用"delims="更好。
体会下面2组代码
  1. @echo off
  2. for /f "delims=|" %%i in ("abc 123 bcd") do echo,%%i
  3. pause
复制代码
  1. @echo off
  2. for /f %%i in ("abc 123 bcd") do echo,%%i
  3. pause
复制代码

TOP

回复 16# qixiaobin0715


    这段代码我能看懂,因为 代码里三个字符串是用 | 分隔的,所以 delims=|  我能理解,   但是我的 1.txt  里的字符串里面都没有 |      所以我不理解  delims=|  是什么用处

TOP

回复 15# llqcnw
自己体会一下:
  1. @echo off
  2. for /f "tokens=1-3 delims=|" %%i in ("abc|123|bcd") do (
  3.     echo,%%i
  4.     echo,%%j
  5.     echo,%%k
  6. )
  7. pause
复制代码

TOP

回复 14# qixiaobin0715


    明白了,谢谢!   

另外 还是想问一下  delims=|   是什么意思?

TOP

回复 13# llqcnw
不需要去掉目录并且也不能去掉目录啊,试试这个,如果存在d:\Fwkp\Bin\3.txt的话:
copy d:\Fwkp\Bin\3.txt d:\test.txt

TOP

本帖最后由 llqcnw 于 2021-7-13 21:03 编辑

回复 11# qixiaobin0715


    代码非常好用,实现目的,而且很简单。   


之前把问题想复杂了,之前的想法是 文件名保持不变进行复制,然后更名,看了你的代码后,才想起来,复制时就可以直接更名了。是我基本功太差了,感谢!

TOP

回复 11# qixiaobin0715


    好的,谢谢

我也是从其他地方借鉴来的命令,我感觉复杂了,想简化一下,但是没有搞懂那个  |  的用法,所以就来请教

TOP

回复 10# llqcnw
有点耍花腔的味道:
按你的代码修改,看一看显示的%%i是什么
  1. @echo off
  2. for /f "eol=| delims=|" %%i in (1.txt) do echo,%%i
  3. pause
复制代码
代码这样写要规范些:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (1.txt) do (
  4.     set /a n+=1
  5.     copy "%%i" "c:\3\3-!n!.txt"
  6. )
  7. pause
复制代码

TOP

使用的命令如下:



setlocal enabledelayedexpansion
set n=1
for /f "eol=| delims=|" %%i in 1.txt do (
copy "%%i" "c:\3\3-!n!.txt"
set /a n=!n!+1
)

TOP

回复 7# yakeyun


1.txt文件里的内容如下:

d:\Fwkp\Bin\3.txt
d:\Fwkp\Bin\skfp.djgl.bin\3.txt
d:\Fwkp\新建文件夹 (2)\3.txt
d:\Fwkp\新建文件夹 (3)\3.txt
d:\Fwkp\新建文件夹 (4)\3.txt
d:\原版\Bin\3.txt
d:\原版\Bin\skfp.djgl.bin\3.txt
d:\问题\Bin\3.txt
d:\问题\Bin\skfp.djgl.bin\3.txt

TOP

没有数据,说个>>>>>>

TOP

本帖最后由 yakeyun 于 2021-7-13 18:52 编辑

回复 5# llqcnw


涉及到路径的就需要放一部分内容出来看看规律,有规律就好办,不然不好批量处理。比如路径层数是否一致

TOP

返回列表