找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28022|回复: 6

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

[复制链接]
发表于 2013-10-1 15:59:35 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-10-1 16:17:17 | 显示全部楼层
C:\Users\123>for /f "tokens=1-3 delims=/ " %e in ("%date%") do echo %e %f %g
发表于 2013-10-1 18:05:30 | 显示全部楼层
  1. FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
复制代码
微软的官方文档里面都是tokens在前,delims在后。
楼主这种颠倒前后顺序的写法是跟谁学的?
 楼主| 发表于 2013-10-1 20:03:26 | 显示全部楼层
回复 3# DAIC


    程序能执行就行了,你有强迫症吗
发表于 2013-10-1 20:56:51 | 显示全部楼层
回复 4# hzcxdgioa


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

评分

参与人数 1技术 +1 收起 理由
hzcxdgioa + 1 3q

查看全部评分

发表于 2013-10-2 08:45:40 | 显示全部楼层
回复 4# hzcxdgioa


    你高兴就好,愿意咋写就咋写。
 楼主| 发表于 2013-10-2 14:47:45 | 显示全部楼层
回复 5# apang


    原来如此,不过我已经使用%date:~0,10%解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 16:03 , Processed in 0.020143 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表