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

2 楼的代码是没有将工作目录变量化的, 你把其中所有的 szt 都替换成你现在用的工作目录名(无论中英文)再看下;

6 楼的代码已经将工作目录变量化了, 你只需改动代码中一个地方就可以了.

TOP

本帖最后由 fatcat 于 2012-4-20 06:51 编辑

回复 10# tousyo88

将 6 楼 22 行改为
  1.     'dir "!fdir!" /a-d /od /t!timeField! /-c^|findstr "^[1-9].*[0-9][0-9]:[0-9][0-9]"') do (
复制代码
之前没有用双引号, 导致不支持目录名含空格的情形;
2 楼代码在 16 行也是需做出同样方式的修改
如果仍有问题, 请贴出你测试的目录名

TOP

本帖最后由 fatcat 于 2012-4-20 14:30 编辑

回复 12# tousyo88
  1. @echo off & setlocal enabledelayedexpansion
  2. REM 备份原始日期时间格式
  3. for /f "tokens=2*" %%a in ('reg query "HKCU\Control Panel\International" /v sShortDate^|find/i"sSh"') do set "sShortDate=%%~b"
  4. for /f "tokens=2*" %%a in ('reg query "HKCU\Control Panel\International" /v sTimeFormat^|find/i"sTi"') do set "sTimeFormat=%%~b"
  5. REM 修改日期时间格式
  6. >nul reg add "HKCU\Control Panel\International" /v sShortDate /t REG_SZ /d "yyyyMMdd" /f
  7. >nul reg add "HKCU\Control Panel\International" /v sTimeFormat /t REG_SZ /d "HH:mm:ss" /f
  8. set "dttm=!date!|!time:~0,8!"
  9. cd /d "d:\szt"
  10. for /f "delims=" %%i in ('dir /x/b/a-d/on') do echo %%~nxi^|%%~zi^|!dttm!
  11. REM 还原原始日期时间格式
  12. >nul reg add "HKCU\Control Panel\International" /v sShortDate /t REG_SZ /d "!sShortDate!" /f
  13. >nul reg add "HKCU\Control Panel\International" /v sTimeFormat /t REG_SZ /d "!sTimeFormat!" /f
  14. pause
  15. exit
复制代码
用 date, time 这两个环境变量获取的是当前的系统日期和时间, 不是文件相关的日期时间
要想 %%~zi 能成功扩展, 2 种方式可选: 1. 工作目录先行设置为 "d:\szt"; 2. 用 dir 的 /s 参数显示文件的全路径, 但若有子目录, 也会把文件列出.
^| 是避免 | 成为 管道, 转义只需在左边加上 ^

TOP

回复 15# tousyo88

首先看一下 Win 2000 系统的日期时间格式
  1. echo %date%
  2. echo %time%
复制代码

TOP

回复 18# tousyo88

Windows 2000 cmd 下是否能显示 中文, chcp 936 报不报错

TOP

返回列表