mkdir x 降级

约内斯库

我有一个包含多个州合同的文件夹,每个州文件夹都有多个合同:

D:\Workspace\Contracts\State1\Contract1_number_date  
D:\Workspace\Contracts\State1\Contract2_number_date  
D:\Workspace\Contracts\State2\Contract1_number_date`  
etc...  

我需要为每个合同制作 3 个文件夹:

D:\Workspace\Contracts\State1\Contract1_number_date\folder1  
D:\Workspace\Contracts\State1\Contract1_number_date\folder2  
D:\Workspace\Contracts\State1\Contract1_number_date\folder3  
D:\Workspace\Contracts\State1\Contract2_number_date\folder1   
D:\Workspace\Contracts\State1\Contract2_number_date\folder2   
D:\Workspace\Contracts\State1\Contract2_number_date\folder3   
D:\Workspace\Contracts\State2\Contract1_number_date\folder1  
D:\Workspace\Contracts\State2\Contract1_number_date\folder2  
D:\Workspace\Contracts\State2\Contract1_number_date\folder3   

我发现\..\向上一级,所以mkdir D:\Workspace\Contracts\..\folder1make D:\Workspace\folder1,但我不知道如何向下移动 1 或 10 个文件夹。

组合

下面是一些使用For循环来实现目标的代码

@Echo Off
Set "BaseDir=%~1"
Set "NumStates=%~2"
Set "NumContracts=%~3"
Set "NumFolders=%~4"

If Not Exist "%BaseDir%\" Exit/B
For %%A In (NumStates NumContracts NumFolders) Do If Not Defined %%A Exit/B

If /I Not "%CD%"=="%BaseDir%" CD /D "%BaseDir%"

For /L %%A In (1,1,%NumStates%) Do For /L %%B In (1,1,%NumContracts%
) Do For /L %%C In (1,1,%NumFolders%
) Do If Not Exist "State%%A\Contract%%B_number_date\folder%%C\" (
    MD "State%%A\Contract%%B_number_date\folder%%C")

您可以从命令行运行名为 的脚本,MakeDirs.cmd如下所示:

"MakeDirs.cmd" "D:\Workspace\Contracts" 17 8 3

上面应该3里面的8Contracts 和17States创建目录D:\Workspace\Contracts

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章