2017-10-18 90 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" 
相关问题