请检查这...批次... Do循环脚本
它创建文件递归的X号码的文件夹,但这一举动,命令检查也destination_folder =目标文件夹的subufolder,创造一个错误的号码的空文件夹。如何从For ... Do中排除destination_folder? 谢谢
请检查这...批次... Do循环脚本
它创建文件递归的X号码的文件夹,但这一举动,命令检查也destination_folder =目标文件夹的subufolder,创造一个错误的号码的空文件夹。如何从For ... Do中排除destination_folder? 谢谢
只需添加一个检查,看看%%~pF
内是否存在%destination_folder%
。
FOR /R "%folder%" %%F IN (*.*) DO (
rem --- add this ---
set "loopfolder=%%~pF"
if "%%~pF"=="!loopfolder:%destination_folder%=!" (
rem ----------------
if !n!==1 (
etc.
...这基本上意味着,从%%F
路径的价值剥离%destination_folder%
的值,如果没有什么变化后,则路径不包含目标文件夹。继续。
请问你能更具体吗?如果我找到'%destination_folder%',我可以做什么?我需要排除,不包括。谢谢 – Jack 2013-04-08 12:11:38
我不确定你在问什么。如果你的循环值'%% F'包含“目标文件夹”,你想继续下一次迭代而没有任何操作,对吧?这就是这样做的。如果循环值'%% F'确实*不*包含文本“目标文件夹”,那么'if'语句中的任何内容都应该执行。 – rojo 2013-04-08 12:13:54
如果已经测试过,不能按预期工作。它创建了正确数量的文件夹(例如40个文件= 4个文件夹),但它将所有文件放在最后一个文件夹中,而不是每个文件夹中的10个文件。感谢 – Jack 2013-04-08 12:16:15
'for/r'总是递归的。 – Endoro 2013-04-08 11:25:34
我知道'/ R'总是递归的,但是它的递归问题也是在新创建的子目录中,所以也是''C:\ My Folder \ Destination文件夹“'和我该怎么避免/排除循环或替代解决方案 – Jack 2013-04-08 11:43:34