DOS 求助:关于windows2008下 压缩文件后重命名的问题(详见代码)

junlintianxia07 2010-06-09 10:08:15
在windows xp :
E:
cd test
for /f "delims=" %%a in ('dir /s /b /a-d') do (if not "%%~dpnxa"=="%~dpnx0" "D:\Program Files\WinRAR\Rar.exe" a pgmedical%date:~0,10%.zip "%%a"&&del /a /f /q "%%a")
xcopy E:\test\*.* D:\bak\ /s /e /y
for /f "delims=" %%a in ('dir /s /b /ad') do (rd /s /q "%%a")
@pause

调用winrar 压缩文件后重命名为带日期的文件,然后拷贝至D盘bak 下面,文件名称为:pgmedical2010-06-09.zip
但是在windows 2008 下面 的同样一段代码却无法执行,我查看了原因,
用echo %date% 命令来显示时间的话:这样显示:2010/06/09 ,这就是导致无法重命名文件的原因,求助,如何使windows 2008 上的dos 显示时间 跟xp上的一样,用“-”隔开,windows 2008 dos版本 如下图:
...全文
60 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
junlintianxia07 2010-06-09
  • 打赏
  • 举报
回复
上面都是高人,让小弟膜拜下,结贴给分!
ljc007 2010-06-09
  • 打赏
  • 举报
回复
另外一个方法是通过修改注册表来更改系统日期的格式,参考:
http://blog.csdn.net/ljc007/archive/2010/04/17/5496729.aspx
就是just4 2010-06-09
  • 打赏
  • 举报
回复
用echo %date% 命令来显示时间的话:这样显示:2010/06/09

直接:[code=BatchFile]echo %date:~0,4%-%date:~5,2%-%date:~8,2%[/code]
ljc007 2010-06-09
  • 打赏
  • 举报
回复
[code=BatchFile]cd /d E:\test
set mydate=%date:/=-%
for /f "delims=" %%a in ('dir /s /b /a-d') do (
if not "%%~dpnxa"=="%~dpnx0" (
"D:\Program Files\WinRAR\Rar.exe" a pgmedical%mydate:~0,10%.zip "%%a"&&del /a /f /q "%%a"
)
)
xcopy E:\test\*.* D:\bak\ /s /e /y
for /f "delims=" %%a in ('dir /s /b /ad') do (
rd /s /q "%%a"
)
@pause
[/code]
junlintianxia07 2010-06-09
  • 打赏
  • 举报
回复
我感觉貌似应该有地方设置dos 本地化的地方吧,还是其他原因?高手解答,谢谢!
junlintianxia07 2010-06-09
  • 打赏
  • 举报
回复
顶一下!

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧