DOS 命令列 將檔案移至以上個月命名的資料夾

DOS 命令列 將檔案移至以上個月命名的資料夾

我正在嘗試在任務規劃程式中建立一個任務,該任務會根據上個月 pdf 檔案中的日期自動將一些 pdf 檔案移至另一個資料夾中。我遇到的問題是我不知道如何讓命令列回滾到上個月。我首先使用相同的方法建立資料夾,但任務設定為在上個月結束時運行。例如,一項任務在 10 月運行,為當前月份 2010-10 建立資料夾,另一項任務在 11 月運行,在 PDF 編譯後將其移至 2010-10 資料夾。有任何想法嗎?

我使用的日期參數是「%DATE:~0,2%」我嘗試過「%DATE:~0,2% -1」和「%DATE:~0,2%-1」以及全文批次檔為“move [-Y] *.pdf P:\CBO\Physician Monthly Reports\%DATE:~6,4%-%DATE:~0,2% -1”

答案1

您選擇的字元要求日期格式類似於“MM-DD-YYYY”。此命令檢索當前月份的數字並減一並將其保存在名為 的變數中prevmonth。如果上個月是 12 月,它還會從年份中減去 1:

set /a prevmonth=%DATE:~0,2% - 1
set yearprevmo=%DATE:~6,4%
if %prevmonth% equ 0 set /a yearprevmo=%yearprevmo%-1 & set prevmonth=12
move -Y *.pdf "P:\CBO\Physician Monthly Reports\%yearprevmo%-%prevmonth%"

請注意引號,因為目錄名稱中有空格。

答案2

C:\>move /Y \\your Network server\PROD\PM\FileArchive\2011*.txt \\your Network server\PROD\PM\FileArchive\Documents

相關內容