Board logo

标题: [日期时间] [已解决]批处理命令for /f 中的delims如何定义包含空格的多个分隔符? [打印本页]

作者: hzcxdgioa    时间: 2013-10-1 15:59     标题: [已解决]批处理命令for /f 中的delims如何定义包含空格的多个分隔符?

本帖最后由 hzcxdgioa 于 2013-10-2 14:50 编辑

我知道delims=可以定义多个分隔符,但是一旦定义了其它的,默认的空格就会无效,但是添加空格,就会出现错误,用引号括起来也不行,
%date%是日期变量,他后面总是要跟一个星期,目前是使用两个for /f 提取日期的,能不能做到一句就可以分割出来。。
  1. C:\Users\123>for /f "usebackq delims=/  tokens=1,2,3" %e in ('%date%') do echo %e) %f) %g
复制代码

作者: apang    时间: 2013-10-1 16:17

C:\Users\123>for /f "tokens=1-3 delims=/ " %e in ("%date%") do echo %e %f %g
作者: DAIC    时间: 2013-10-1 18:05

  1. FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
复制代码
微软的官方文档里面都是tokens在前,delims在后。
楼主这种颠倒前后顺序的写法是跟谁学的?
作者: hzcxdgioa    时间: 2013-10-1 20:03

回复 3# DAIC


    程序能执行就行了,你有强迫症吗
作者: apang    时间: 2013-10-1 20:56

回复 4# hzcxdgioa


    delims=放在后面只是一种技巧,并不是放在tokens前面就一定有错。空格作为默认的命令之间的分隔符,delims=/与tokens=1,2,3之间就是加再多的空格,也会当作一个空格处理的
要解决你的问题,delims=必须放在后面。
作者: DAIC    时间: 2013-10-2 08:45

回复 4# hzcxdgioa


    你高兴就好,愿意咋写就咋写。
作者: hzcxdgioa    时间: 2013-10-2 14:47

回复 5# apang


    原来如此,不过我已经使用%date:~0,10%解决了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2