簡體   English   中英

根據名稱和帶有批處理文件的課程代碼將文件移動到文件夾

[英]Moving files to folders based on Name and Course Code with Batch File

我一直在尋找解決方案,並且找到了類似的解決方案,但是它們要么具有固定長度的文件名,要么被用於對文件夾中的文件進行排序,而不是移動它們。

我要嘗試做的是當工作人員在S驅動器中放置一個文件時,該文件名為:

Bloggs Joe AHC20410 Student Forms.pdf

批處理文件(在一天中的特定時間運行)會將文件移至H盤 ,並移至以下文件夾中:

H:\Student Records Current\Bloggs Joe AHC20410

因此,例如,運行批處理文件時, S Drive可能如下所示:

Bloggs Joe AHC20410 Student Forms.pdf
Bloggs Joe AHC20410 Evidence.jpg
Doe Jane AHC31010 Workbook.doc
Doe Joe AHC20410 Images.png

任何幫助將不勝感激!

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
FOR /f "delims=" %%d IN (
  'dir /b /ad "%destdir%\*ahc*" 2^>nul ^|findstr /i /r /c:"AHC[0-9][0-9][0-9][0-9][0-9]"'
  ) DO (
 FOR /f "delims=" %%a IN (
  'dir /b /a-d "%sourcedir%\%%d*"  2^>nul ^|findstr /i /r /c:" AHC[0-9][0-9][0-9][0-9][0-9] "'
 ) DO (
  ECHO(MOVE "%sourcedir%\%%a" "%destdir%\%%d\"
 )
)

GOTO :EOF

您需要更改sourcedirdestdir的設置以適合您的情況。

所需的MOVE命令僅僅ECHO編用於測試目的。 確認命令正確無誤后 ,將ECHO(MOVE更改為MOVE即可實際移動文件。Append >nul可禁止報告消息(例如,已1 file moved

假定目標目錄已經存在。

本質上,找到所有包含ahc的目錄名,並過濾ahc ,然后過濾ahc followed by 5 numerics以取得良好的效果。 將這些字符串分配給%%d

然后,對於找到的每個%%d ,查找以%%d開頭並且包含字符串ahc followed by 5 numerics且前后均帶有空格的源文件。

將名稱綁定在一起並顯示結果...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM