使用时间戳重命名文件名的VBscript

时间:2012-06-19 19:05:43

标签: datetime date vbscript batch-file

我需要获取文件夹中的所有文件,并按以下格式附加今天的日期和时间戳:filename_mmddyyyy.fileextension。请有人请帮忙,或者这可以使用蝙蝠脚本完成。

2 个答案:

答案 0 :(得分:0)

请发布你的代码,尽管它是坏的或尽可能的,它确实有帮助,FormatDateTime将你的当地人带到帐户,我在欧洲法兰德斯,所以我的系统添加了_19062012.ext,但在你的系统上应该是_06192012.ext

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

答案 1 :(得分:0)

当然可以在批处理文件中完成: - )

@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
)

必须注意确保批处理文件不会重命名 - 如果在运行时重命名它将失败。