如何用批处理,根据日期并且跳过双休日,来批量命名Excel文件。如20131014这样的格式。每个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用批处理,根据日期并且跳过双休日,来批量命名Excel文件。如20131014这样的格式。每个相关的知识,希望对你有一定的参考价值。

如何用批处理,根据日期并且跳过双休日,来批量命名Excel文件。如20131014这样的格式。每个月的都需要。。。求大神指导

    根据日期命名,会造成每天只能命名一个文件,命名其他文件会提示以存在文件

    在此基础上做了修改,当存在重复文件,则在日期后加上-X来递增

@echo off

setlocal enabledelayedexpansion

set b=1

set a=%date%

if not %a:~11,2%==周六 (

if not %a:~11,2%==周日 (

set d1=%a:~0,4%

set d2=%a:~5,2%

set d3=%a:~8,2%

set /a value=!d1!!d2!!d3!

for /f %%i in ('dir /a-d /b *.xls') do (

if not exist "value-!b!.xls" (

ren "%%i" "!value!-!b!.xls"

set /a b+=1

) else (set /a b+=1)

)

) else (echo 今天是周日,代码不被执行&pause>nul)

) else (echo 今天是周六,代码不被执行&pause>nul)


默认只更名当前文件夹,不包括子目录,跳过周六、周日(结果如下)

追问

这个挺好!!!

不过仔细一看不太对啊

全部是1014有木有不过还是挺厉害谢谢你依然~

追答

它是取你运行的日期,你今天运行的就是以今天日期命名,明天就是明天的日期命名。
可能是我理解错你的意思了。

追问

没关系很谢谢你了

参考技术A 用文件批处理大师,做好一个月的,删除其中几天周末,同理做好12个月,一年的文件,十几分钟就搞定了追问

谢谢你~

但是我还是想知道根本的方法。类似自动生成当月的文件,并且跳过双休,。。哈哈太懒了

追答

木有啊亲爱的,等你把那个学会了,都不赶趟了

追问

π_π

追答

再说,你花一个小时,好几年的都做完了,你能做到你辞职那天

够用没事

追问

你肿么知道俺准备不干!!!

哇哈哈大神给跪了

追答

看你就是文员工作,还这么多任务给你,工资不跟上劳动成果,换谁也干不长

追问

嘿嘿。。。

追答

噗…你一个好评也不好玩呢

追问

啊。?

追答

你都要不干了,还努力啥,赶紧找下一家吧

追问

其实也谈不上努力哈哈。主要是不甘心这么平淡

追答

你多大?男的女的

追问

我是抠脚大汉→_→

追答

我是说你年轻就这样',尤其是女的,

你想多了

本回答被提问者采纳

目录下所有图片按修改时间批量重命名

背景:有很多不同来源的图片,命名格式差异很大,很多图片名没有包含时间信息,当拷贝这些图片到新的设备时,图片的创建时间会变成当前时间,导致既不能按时间排序,也不能根据文件名来识别图片日期,因此在导入到新设备前先批量处理不符合规范的图片名称,处理期间不处理IMG_开头的,因为这种图片是手机原相机拍摄的,后面已经包含了时间信息。

批处理文件,保存成bat


@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b') do (
:next
set "t=%%~ta"
@echo %%~nxa    %%~ta 
set "head=%%~nxa"
set "head1=!head:~0,4!"
if "!head1!" == "IMG_" (
@echo jump filename = %%~nxa
goto next
)
set "t=!t:~0,4!!t:~5,2!!t:~8,2!_!t:~11,2!!t:~14,2!"
if not "%~n0"=="%%~na" if not exist "IMG_!t!_1%%~xa" (ren "%%~nxa" "IMG_!t!_1%%~xa") else (
call :rennum "%%~nxa")
)
goto :eof
:rennum
set n=1
:loop
set "name=%~1"
set "ext=%~x1" 
if not exist "IMG_!t!_!n!!ext!" (ren "%name%" "IMG_!t!_!n!!ext!") else (
set /a n+=1
goto loop
)

以上是关于如何用批处理,根据日期并且跳过双休日,来批量命名Excel文件。如20131014这样的格式。每个的主要内容,如果未能解决你的问题,请参考以下文章

如何用批处理命令创建一个以“日期”+读取粘贴板数据命名的文件夹?

linux中如何用rename命令重命名一个文件

如何用Matlab为文件批量重命名

如何用BAT命令批量移动文件到文件夹?

如何用cmd快速异名复制文件

如何用c语言进行文件的批量重命名