在批处理文件中将当前日期添加1年

时间:2014-07-01 22:54:27

标签: batch-file task

你在这里找不到任何帮助。

我的公司有一组客户端文件夹,需要在每个财政年度结束时创建一组子文件夹。这需要是年份的2位数表示(即 - 2014年的[14] Folder1等等。

我有一个批处理文件,每年都会创建文件夹,但每次都必须修改年份。我正在寻找一个自动配对的解决方案,但我不想再添加1年的日期。 (因为文件夹需要在财政年度结束时创建,而不是日历年。)

我正在寻找一种方法,将当前日期添加1年。到目前为止,这是我的批处理文件。任何人的想法?


set YEAR= %DATE:~-2% + %DATE:~-2%

for /f "delims=|" %%s in ('dir /ad/b') do md "%%s\%YEAR% Folder1"
for /f "delims=|" %%s in ('dir /ad/b') do md "%%s\%YEAR% Folder2"
for /f "delims=|" %%s in ('dir /ad/b') do md "%%s\%YEAR% Folder3"

2 个答案:

答案 0 :(得分:0)

像这样:

set /a YEAR=%DATE:~-2% + 1

答案 1 :(得分:0)

set /a YEAR=1%DATE:~-2%+1
set YEAR= %DATE:~-2%%YEAR:~-2%

假设您希望2014-2015财政年度1415

你知道你的构造会在字符串之前产生 Space 吗?空格在字符串分配中很重要 - 在=的两侧。

使用

更安全
set "YEAR=%DATE:~-2%%YEAR:~-2%"
例如

- 这种格式的兔子耳朵确保省略尾随空格(可能导致混乱)