1

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

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

名字姓氏_Estimate_MMDDYYYY-###

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

JohnDoe_Estimate_12242013-239.pdf

现在它位于文件夹“C:\Estimates”中。我想要批处理文件做的是查看“C:\ Estimates”文件夹中的所有文件并自动移动按年份排序的文件。因此,所有 2012 年的估算值都放在文件夹“C:\Estimates\2012”中,2013 年在“C:\Estimates\2013”​​等文件夹中。

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

4

1 回答 1

2

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
  )
)
于 2013-10-03T09:56:11.880 回答