批处理文件以根据日期移动PDF文件,如有必要,请创建文件夹



我对批处理文件比较陌生。我可以做非常简单的事情,但是下一个让我陷入了循环。

我们有一个程序,可以为客户生成PDF报价,以以下方式保存...

FirstnameLastname_Estimate_MMDDYYYY-###

例如,如果我有一个客户"John Doe",我们在今年圣诞节前夕给了他一个估计值(在我们的系统中 #239th),它看起来像这样。

JohnDoe_Estimate_12242013-239.pdf

现在它位于文件夹"C:\Estimates"中。我希望批处理文件做的是查看"C:\Estimates"文件夹中的所有文件,并自动移动按年份排序的文件。因此,所有2012年的估计都放在一个文件夹"C:\Estimates\2012"中,2013放在"C:\Estimates\2013"等文件夹中。

这里的一些批处理文件让我接近,但没有雪茄。任何帮助都会很棒。谢谢!

C:Estimates文件夹中启动它。文件名不应在客户端名称中包含_-

@echo off
setlocal disabledelayedexpansion
for %%a in (*.pdf) do (
   for /f "tokens=3 delims=_-" %%b in ("%%a") do (
    set variable=%%b
       setlocal enabledelayedexpansion
         set variable=!variable:~-4!
         md !variable! 2>nul
         move "*!variable!-*.pdf" !variable! >nul
       endlocal
  )
)

最新更新