我正在尝试做的是自动移动下载,删除不需要的文件,然后通过命令行运行程序,以及谁知道我在完成这个任务时还有什么想法。这是我第一个.bat
文件的开头:
move.bat
:
@echo off
for /f "tokens=*" %%f in ('dir /a:-D /s /b') do move "%%f" .
for /f "tokens=*" %%f in ('dir /a:D /s /b') do rd "%%f"
del "C:\Downloads\*.jpg"
del "C:\Downloads\*.png"
del "C:\Downloads\*.gif"
del "C:\Downloads\*.txt"
del "C:\Downloads\*.nfo"
move "C:\Downloads\*.mp4" "C:\Movies\"
cd "C:\program files\filebot\"
filebot -rename c:\movies
copy "E:\Documents\Tweaks&commands\folderize.bat" "C:\Movies"
cd "C:\Movies\"
folderize.bat
ping 192.0.2.2 -n 1 -w 4000 > nul
rmdir /S /Q "C:\movies\folderize"
现在,一切正常运行folderize.bat
。
Folderize.bat
:
@echo off
setlocal enabledelayedexpansion
for %%a in (*.eng*) do (
set file=%%a
ren "!file!" "!file:_=!"
)
@echo off
for %%a in (*.*) do (
md "%%~na" 2>nul
move "%%a" "%%~na"
)
Folderize.bat
完全按照它应该做的事情,但是如果我运行它,它将包含自己,创建一个名为 folderize 的文件夹,然后将自己移动到那里。好的,没问题,我会做一个rmdir
,一切都很好。
那行不通。
在Move.bat
我最初尝试不使用ping
命令行的情况下。我添加了该行,因为我认为在尝试删除之前只需要几秒钟(老实说只是在黑暗中刺伤)。那也是不行的。
我打开一个cmd
提示并手动运行它以查看会发生什么。初始化folderize后,将其移动到自己的文件夹中,提示找不到批处理文件并终止。
有没有一种方法可以编辑folderize.bat
以排除.bat
文件被放置在文件夹中,或者真的只是排除自己?