Datetime 用于使用日期戳重命名文件名的VBscript
我需要将文件夹中的所有文件附加上今天的日期和时间戳,格式如下:filename\u mmddyyyy.fileextension。请有人帮忙,或者可以用bat脚本来完成 请发布您的代码,不管代码是坏是坏,它确实有帮助,FormatDateTime考虑了您的本地人,我在欧洲的佛兰德斯,所以我的系统添加了_19062012.ext,但在您的系统上应该是_06192012.extDatetime 用于使用日期戳重命名文件名的VBscript,datetime,date,vbscript,batch-file,Datetime,Date,Vbscript,Batch File,我需要将文件夹中的所有文件附加上今天的日期和时间戳,格式如下:filename\u mmddyyyy.fileextension。请有人帮忙,或者可以用bat脚本来完成 请发布您的代码,不管代码是坏是坏,它确实有帮助,FormatDateTime考虑了您的本地人,我在欧洲的佛兰德斯,所以我的系统添加了_19062012.ext,但在您的系统上应该是_06192012.ext set oFso = createobject("scripting.filesystemobject") sDirect
set oFso = createobject("scripting.filesystemobject")
sDirectorypath = "c:\testing"
rename_files(sDirectorypath)
sub rename_files(folder)
set oFolder = oFso.getfolder(folder)
for each oFile in oFolder.files
new_name = oFile & "_" & replace(FormatDateTime(now,2),"/","") & "." & oFso.GetExtensionName(oFile)
wscript.echo "renaming " & oFile & " => " & new_name
errResult = oFso.MoveFile(oFile, new_name)
next
for each oSubFolder in oFolder.subfolders
rename_files(oSubFolder)
next
end sub
当然,它可以在批处理文件中完成:-)
必须注意确保批处理文件不会重命名自身-如果在运行时重命名,则会失败。?而子调用中的()使用字符串而不是文件夹对象作为参数,并且不测试是否存在具有新名称的文件,这是风格和品味问题,使用.MoveFile作为函数(errResult)不是有效的VBScript。当它运行没有问题时,它在我的书Ekkehard中是有效的,如果可能的话,我会测试我所有的答案,正如我之前多次说过的,拿出你自己的解决方案,而不是挑那些花时间和兴趣回答问题的人来检查是否存在,如果此脚本未与计划程序一起运行,则如果存在具有该名称的文件allready,则该脚本将失败
@echo off
setlocal
set "timestamp="
for /f "skip=1" %%A in ('wmic os get localdatetime') do (
if not defined timestamp set "timestamp=%%A"
)
for /f "eol=: delims=" %%F in ('dir /b /a-d myFolder\*') do (
if "%%~fF" neq "%~f0" ren "%%F" "%%~nF_%timestamp:~4,4%%timestamp:~0,4%%%~xF
)