|
|
本帖最后由 duoduo200 于 2022-4-26 18:50 编辑
[img] [/img]
各位大佬好!
请帮忙修改一下代码,该代码主要是提取文件夹下文件上来(如图箭头1我已经添加到右键里了)。在实际运用中发现一个致命问题,就是箭头2指向的文件夹 所在的文件夹,同时还有其他并列兄弟文件夹的话,一旦运行bat,就会把箭头2和并列文件夹里所有文件都提取到上层父文件夹下了。
为了便于理解我再举个例(其实就是上面的情况,换种说法):如果把该bat放在A文件夹下运行(A文件夹下有BC两个子文件夹,子文件下有若干文件),会同时提取BC里所有的文件到A文件夹下,但我只想要提取B文件夹或者C文件夹下的。
但按照逻辑分析,不指定文件夹,电脑也无法判断该提取哪个。
所以是否可以添加一个判断条件,如果A文件夹下只有一个子文件夹就提取该文件夹后并删除空文件夹,但如果存在两个或者以上的文件夹,就只提取当前文件夹(箭头2)下的文件。- @echo off
- for /f "delims=" %%a in ('dir /a-d /b /s ') do (
- move "%%~a" ./ 2>nul
- )
复制代码 同样要有遍历、不能指定文件夹名称和路径。 |
|