raz*_*mny 0 windows cmd batch-file
我的目标是创建一组具有相同子文件夹的文件夹.自1881年以来,每年我需要一个文件夹,每年文件夹应包含每月一个文件夹,每个月文件夹应包含每天一个文件夹.
我找到了一个创建文件夹多年的工具,现在我的挑战是用子文件夹填充它们.我想在Windows客户端计算机上执行此操作,最好不要安装任何东西.
我一直在努力的是使用FOR和MD命令来完成这项工作.这是我到目前为止的代码:
SET %g=*.*
FOR /d %var IN %path% DO MKDIR 01 02 03
Run Code Online (Sandbox Code Playgroud)
每当我运行它时,我都会收到此错误:
%path%此时是意料之外的
所以,这就是我现在所处的地方.我很感激你能给我的任何帮助!
对不起PA你的解决方案是对的,我无法抗拒添加一些代码以创造每月正确天数的诱惑.
@echo off
setlocal EnableDelayedExpansion
set m=0
for %%d in (31 28 31 30 31 30 31 31 30 31 30 31) do (
set /A m+=1
set daysInMonth[!m!]=%%d
)
pushd d:\dest
for /L %%y in (1881,1,2012) do (
mkdir %%y
pushd %%y
for /L %%m in (1,1,12) do (
mkdir %%m
pushd %%m
set days=!daysInMonth[%%m]!
if %%m == 2 (
set /A yMod4=%%y %% 4, yMod100=%%y %% 100, yMod400=%%y %% 400
if !yMod4! == 0 (
set /A days+=1
if !yMod100! == 0 if not !yMod400! == 0 (
set /A days-=1
)
)
)
for /L %%d in (1,1,!days!) do (
mkdir %%d
)
popd
)
popd
)
popd
Run Code Online (Sandbox Code Playgroud)
以前的代码在闰年增加1天至2月,也就是说,如果年份可以被4整除,但是在百年年份只有它可以被400整除.1600和2000是闰年,但是1700,1800和1900不是.
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |