Board logo

标题: 求助:文件夹内特殊文件更名为:文件名+当前日期 [打印本页]

作者: lqs623     时间: 2010-5-21 08:42    标题: 求助:文件夹内特殊文件更名为:文件名+当前日期

要求:文件夹内不带文件名+日期的文件名更名为:文件名+当前日期,带文件名+日期(不更名)

既求助:文件名更名为:文件名20100521.zip (文件名是任意名,“20100521”是当前日期)
请帮助修改:ren *.zip "%date:~0,4%%date:~5,2%%date:~8,2%.zip"


达到列:aaa.zip更名为aaa20100521.zip(文件名是任意名,“20100521”是当前日期)
           bbb.zip更名为bbb20100521.zip(文件名是任意名,“20100521”是当前日期)
或用其他批处理达到更名为:文件名+当前日期.zip,及更名为:当前日期+文件名.zip
主要要:文件名+当前日期.zip

[ Last edited by lqs623 on 2010-5-21 at 19:30 ]
作者: rs369007     时间: 2010-5-21 14:15
%date%用字符串截取+rename命令 很简单吧
作者: Hanyeguxing     时间: 2010-5-21 20:47

for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"

作者: rs369007     时间: 2010-5-21 23:09
你的文件是不是被打开的,重命名之前应该检查文件是否被打开的。或者测试ren 更名后的返回状态(errorlevel)的值.
作者: pdanniel66     时间: 2010-5-22 11:30
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip" >> renfile.bat
call renfile.bat
作者: Hanyeguxing     时间: 2010-5-22 13:05


  Quote:
Originally posted by Hanyeguxing at 2010-5-21 20:47:
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"

这个代码不是执行的,是先用来测试的,看到显示正确后,去掉echo.正式执行就可以。之所以这样写,是因为该代码我未测试。
for %%a in (*.zip) do ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"

作者: lqs623     时间: 2010-5-22 20:41


  Quote:
Originally posted by pdanniel66 at  11:30 AM:
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip" >> renfile.bat
call renfile.bat

非常感谢!更名可以用
作者: lqs623     时间: 2010-5-23 07:40


  Quote:
Originally posted by pdanniel66 at  11:30 AM:
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip" >> renfile.bat
call renfile.bat

再求助:请问:
1、能否用修改日期或是用创建日期排除以前的。只更名某某修改日期或是某某创建日期以后的(某某修改日期或创建日期以后的文件+当前日期)
2、能否排除已带有日期的文件,只更名不带日期的文件(不带日期的文件+当前日期)

[ Last edited by lqs623 on 2010-5-23 at 09:14 ]
作者: lqs623     时间: 2010-5-23 08:50


  Quote:
Originally posted by Hanyeguxing at  01:05 PM:

这个代码不是执行的,是先用来测试的,看到显示正确后,去掉echo.正式执行就可以。之所以这样写,是因为该代码我未测试。
[code]for %%a in (*.zip) d ...

我这确实不行请您实际操作一下
下面是我用您的两个批处理的操作情况:
1、Hanyeguxing11.bat:
@echo off
set a=%date:~0,4%%date:~5,2%%date:~8,2%
for %%a in (*.zip) do ren "%%a" "%%~na%a%.zip"

2、Hanyeguxing22.bat:
for %%a in (*.zip) do ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"

更名前文件夹目录树为:
文件夹 PATH 列表
卷序列号码为 71F2E346 1CBB:7D24
C:\BT1\新建文件夹
    showtim11.zip
    showtim.zip
    showtime.zip
    vcccccccc.zip
    复件 新建 文本文档.zip
    新建 文本文档.zip
    gghhhh.zip
    Hanyeguxing11.bat
    Hanyeguxing22.bat
   
没有子文件夹

用Hanyeguxing11.bat:更名后文件夹目录树为:
文件夹 PATH 列表
卷序列号码为 71F2E346 1CBB:7D24
C:\BT1\新建文件夹
    showtime20100523.zip
    新建 文本文档20100523.zip
    复件 新建 文本文档20100523.zip
    showtim2010052320100523.zip
    vcccccccc2010052320100523.zip
    gghhhh2010052320100523.zip
    showtim11201005232010052320100523.zip
    Hanyeguxing11.bat
    Hanyeguxing22.bat
   
没有子文件夹
   
用Hanyeguxing22.bat:更名后文件夹目录树为:
文件夹 PATH 列表
卷序列号码为 71F2E346 1CBB:7D24
C:\BT1\新建文件夹
    新建 文本文档20100523.zip
    复件 新建 文本文档20100523.zip
    showtim1120100523.zip
    vcccccccc2010052320100523.zip
    showtim2010052320100523.zip
    gghhhh2010052320100523.zip
    showtime201005232010052320100523.zip
    Hanyeguxing11.bat
    Hanyeguxing22.bat
   
没有子文件夹
作者: lqs623     时间: 2010-5-23 08:53


  Quote:
Originally posted by Hanyeguxing at  01:05 PM:

这个代码不是执行的,是先用来测试的,看到显示正确后,去掉echo.正式执行就可以。之所以这样写,是因为该代码我未测试。
[code]for %%a in (*.zip) d ...

再求助:请问:
1、能否用修改日期或是用创建日期排除以前的。只更名某某修改日期或是某某创建日期以后的(某某修改日期或创建日期以后的文件+当前日期)
2、能否排除已带有日期的文件,只更名不带日期的文件(不带日期的文件+当前日期)

[ Last edited by lqs623 on 2010-5-23 at 09:13 ]