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

[已解决]批处理调用gawk格式化输出日期时间出现缺少前导/前缀0是什么原因

[复制链接]
发表于 2015-6-1 20:24:17 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-6-15 01:34 编辑

当开启变量延迟后,执行如下语句结果中日期少了一个0,请大神帮助啊!!!

for /f "tokens=*" %%x in ('gawk "BEGIN{tstamp=mktime(\"2015 06 01 18 30 30\");print strftime(\"%%Y/%%m/%%d %%A %%H:%%M:%%S\",tstamp);}"') do echo %%x
2015/06/1 星期一 18:30:30

怎样才能得到如下结果
2015/06/01 星期一 18:30:30

评分

参与人数 1PB -30 收起 理由
pcl_test -30 勿发笼统的标题

查看全部评分

发表于 2015-6-1 22:18:50 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%x in ('gawk "BEGIN{tstamp=mktime("2015 06 01 18 30 30");print strftime("%%Y/%%m/%%d %%A %%H:%%M:%%S",tstamp);}"') do (
  4.     set n=%%x
  5.     echo !n!
  6. )
  7. pause
复制代码
我这里测试没有问题
 楼主| 发表于 2015-6-1 23:01:31 | 显示全部楼层
我这里测试没有问题
gawk 发表于 2015-6-1 22:18



    分析了半天,发现时这样的,我有个参数%%d,具体见如下代码

@echo off
setlocal enabledelayedexpansion
for /f "usebackq eol=# tokens=1-7 delims=|" %%a in ("%alt_list_file%") do (
        echo %%a--%%b--%%c--%%d & rem 这个地方的%%d的值是从文件中读出来的,值为1
        set almGenDate=2015 06 01 22 31 30
        for /f "tokens=*" %%x in ('gawk "BEGIN{tstamp=mktime(\"!almGenDate!\");print strftime(\"%%Y/%%m/%%d %%A %%H:%%M:%%S\",tstamp);}"') do set almSignDate=%%x  & rem 这个地方的%%d 本是个参数,将前面的%%d的值直接打印出来了
        echo !almSignDate!
)
pause

请大神,帮忙解决一下。。。
发表于 2015-6-1 23:15:16 | 显示全部楼层
  1. ..."%%Y/%%2m/%%2d %%2A %%2H:%%2M:%%2S"...
复制代码
 楼主| 发表于 2015-6-1 23:57:18 | 显示全部楼层
terse 发表于 2015-6-1 23:15



    问题解决了!非常感谢!!!

但是有些不好理解,再追问大神一下,%%2d是什么意思呢? 是第2个%%d呢?还是长度是2呢?
发表于 2015-6-2 00:01:55 | 显示全部楼层
这个是长度为2
 楼主| 发表于 2015-6-2 00:14:00 | 显示全部楼层
这个是长度为2
terse 发表于 2015-6-2 00:01



    那可以这样写吗?
    "%%4Y/%%2m/%%2d %%2A %%2H:%%2M:%%2S"
发表于 2015-6-2 01:02:00 | 显示全部楼层
回复 7# shootman2

可以
发表于 2015-6-2 03:39:43 | 显示全部楼层
回复 3# shootman2


    建议把 for 循环的参数改成其它字母,以免混淆。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 23:30 , Processed in 0.019909 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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