1

私はバッチファイルに比較的慣れていません。私は非常に単純なものを行うことができますが、この次のものは私をループに投げ込んでいます.

次の方法で保存する顧客向けの PDF 見積もりを生成するプログラムがあります...

FirstnameLastname_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 に答える