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

[日期时间] [已解决]批处理命令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
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

C:\Users\123>for /f "tokens=1-3 delims=/ " %e in ("%date%") do echo %e %f %g

TOP

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

TOP

回复 3# DAIC


    程序能执行就行了,你有强迫症吗

TOP

回复 4# hzcxdgioa


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

评分人数

TOP

回复 4# hzcxdgioa


    你高兴就好,愿意咋写就咋写。

TOP

回复 5# apang


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

TOP

返回列表