2017-10-18 70 views
0

我想創建一個文件夾命名爲上個月。但我的代碼似乎沒有工作。這是我的代碼。使用批處理(.bat)文件創建文件夾名稱%prevMonth%「 - 」%prevYear =%「 - 01」

@echo off 

for /F "tokens=1,3 delims=-" %%a in ("%date%") do (
    set prevYear=%%a 
    set month=%%b 
) 
if "%month:~0,1%" equ "0" set month=%month:~1% 
set /A prevMonth=month-1 
if "%prevMonth%" equ "0" (
    set /A prevMonth=12, prevYear-=1 
) 
if %prevMonth% lss 10 set prevMonth=0!prevMonth! 

mkdir %prevMonth%"-"%prevYear%"-01" 

請任何幫助。

編輯: 根據評論。

+0

你得到什麼輸出? '%prevYear =%'不是有效的變量名;它應該是'%prevYear%'。 – SomethingDark

+0

@SomethingDark沒有創建文件夾。 –

+0

如果不讀,'mkdir'%prevMonth% - %prevYear%-01「'? – Compo

回答

1

Here'e替代使用PowerShell:

@Echo Off 
For /F UseBackQ %%A In (
    `PowerShell "(Get-Date).AddMonths(-1).ToString('yyy-MM')"` 
) Do If Not Exist "%%A-01\" MD "%%A-01" 
相關問題