- 帖子
- 1013
- 积分
- 1228
- 技术
- 14
- 捐助
- 0
- 注册时间
- 2019-2-20
|
桌面上有一个Task文件夹, 其下有4个一级子文件夹, 名字分别是 1 2 3 4
Task下的文件夹结构图请看最后面:
结构具体描述:
1文件夹下: 有 OK A1 A2 文件夹:
A1文件夹下有文件 YES
2文件夹下: 有 OK B1 B2 文件夹:
B1文件夹下有文件 YES
3文件夹下: 有 OK NO C1 C2 文件夹
4文件夹下: 有 OK NO D1 D2 文件夹
-------------------------------------------------------------------------------
逻辑描述①
Task下的一级子文件夹中, 如果只包含OK文件夹, 不包含NO文件夹, 例如 文件夹 1 和 2 , 则检查除OK外的其它文件夹:
如果有YES文件: 例如 1下的A1, 2下的B1, 符合条件, 则文件夹 A1 和 B1 就是要移动的对象,
逻辑描述②
Task下的一级子文件夹中, 如果既包含OK文件夹, 又包含NO文件夹, 则这个一级子文件夹是目标文件夹, 例如 文件夹 3 和 4 , 其下的文件夹数量小于5时, 就满足了条件 【脚本中文件夹数量阙值变量定义为 $QZ=5】
-----------------------------------------------------------------------------------------
Ps脚本执行后:
就会将文件夹 A1 移动到 文件夹 3 下, 然后将文件夹下的YES文件命名为其原来的父父文件夹名 即1, 此时 3 下的文件夹数量 =5 不小于5了,不满足条件了, 也就不能再移过来文件夹了,
此时文件夹 4 还满足条件, 所以B1就移动到了 4 下, 然后将文件夹下的YES文件命名为其原来的父父文件夹名 即2
实际情况中, 一级文件夹会有多个, 一级文件夹下的子文件夹也会有多个, 但是规律就是上面这样, 每次执行脚本时, 符合条件的文件夹会动态的移动, 感觉实在太复杂了, 不知从哪里搞起, 请求高手支招, 非常感谢!!!
示例文件夹: https://send.cm/d/8gO0
--------------------------------------------------------------------------------------------------------------------------
C:\Users\Administrator\Desktop>tree task /f
卷 Win 的文件夹 PATH 列表
卷序列号为 448B-18AC
C:\USERS\ADMINISTRATOR\DESKTOP\TASK
├─1
│ ├─A1
│ │ A1.txt
│ │ YES
│ │
│ ├─A2
│ │ A2.txt
│ │
│ └─OK
├─2
│ ├─B1
│ │ B1.txt
│ │ YES
│ │
│ ├─B2
│ │ B2.txt
│ │
│ └─OK
├─3
│ ├─C1
│ │ C1.txt
│ │
│ ├─C2
│ │ C2.txt
│ │
│ ├─NO
│ └─OK
└─4
├─D1
│ D1.txt
│
├─D2
│ D2.txt
│
├─NO
└─OK |
|