本帖最后由 thp2008 于 2023-12-1 14:04 编辑
帮谢您的帮助,可以移动成功,只是移动完成后,删除文件夹,需要做一下,延时处理,否则删除不了,提示:目录不是空的。
如果延时不好处理,或者可以改变一下思路,首先只将符合要求的文件,移动到当前目录,全部移动完成后,单独用一段代码,删除当前目录下的,所有空目录。
我仔细研究了一下,是所有这些目录下,都有一个隐藏属性的种子文件,所以删除不了。
我修改了一下,搞定了,感谢!- @echo off
- echo 移动当
- for /d %%a in (*) do (
- setlocal
- for /d %%b in ("%%a\*") do set hasfolder=1
- if not defined hasfolder (
- for %%c in ("%%a\*") do (
- set file=%%~fc
- set /a n+=1
- )
-
- setlocal enabledelayedexpansion
- if !n! == 1 (endlocal&call :aaa) else endlocal
- )
- endlocal
- )
- del *.torrent /s/a
- for /f "tokens=*" %%a in ('dir /b /ad /s^|sort /r') do rd "%%a" >nul
- echo 空目录删除完成。
- echo,&pause&exit/b
-
- :aaa
- if defined m set "p=(%m%)"
- for %%z in ("%file%") do (
- if not exist "%%~nz%p%%%~xz" (
- move "%%~z" ".\%%~nz%p%%%~xz") else (
- set /a m+=1&goto :aaa
- )
- )
- goto :eof
复制代码
|