批量删除除部分文件以外的所有文件

托尼

我有一个批处理文件,该文件会不断检查目录中是否有文件:

    @echo off
    cls
    mode 15,5 
    cd C:\Users\Toni\Downloads\
    goto mark
:mark
    set var=2
    dir /b /a "Downloads\*" | >nul findstr "^" && (goto exin) || (goto mark1)
    goto mark
:mark1
    cls
    @ping -n 10 localhost> nul
    goto mark
:exin
    start /B C:\Users\Toni\Downloads\Test\download.bat
    exit

如果该文件夹中有文件,它将移动它们。

    @echo off
cls
cd C:\Users\Toni\Downloads\Downloads        
        xcopy /Y C:\Users\Toni\Downloads\Downloads\*.rar C:\Users\Toni\Downloads\Archive
        xcopy /Y C:\Users\Toni\Downloads\Downloads\*.zip C:\Users\Toni\Downloads\Archive
        xcopy /Y C:\Users\Toni\Downloads\Downloads\*.exe C:\Users\Toni\Downloads\Setups_usw
        xcopy /Y C:\Users\Toni\Downloads\Downloads\*.msi C:\Users\Toni\Downloads\Setups_usw
        xcopy /Y C:\Users\Toni\Downloads\Downloads\*.mp3 E:\-_MUSIC_-\Musik
        xcopy /Y C:\Users\Toni\Downloads\Downloads\*.wav E:\-_MUSIC_-\Musik
        xcopy /S /E /Y /EXCLUDE:C:\Users\Toni\Downloads\Test\excludedfileslist.txt C:\Users\Toni\Downloads\Downloads\*.* C:\Users\Toni\Downloads\Sonstiges
    goto err        
    :err
    if errorlevel 1 ( dir /arashd >> "C:\Users\Toni\Downloads\Test\somefile.txt" 2>&1  ) else ( del /[!*.part] * )
    goto end
    :end
    start /B C:\Users\Toni\Downloads\Test\run.cmd
    exit

但是,我不想移动正在下载的文件(即,我不想移动带有.part扩展名的部分文件)。

我尝试del像这样命令使用参数

del /[!*.part] *

但它似乎不起作用。

如何避免使用.part扩展名移动部分文件

莫霍

我可能会看一下文件扩展名(使用“ FOR变量的替换”)。

SET "TARGET_DIR=C:\Users\Toni\Downloads\Downloads"
FOR /F "delims=" %%f IN ('dir /b "%TARGET_DIR%"') DO (
    REM  Ensure it doesn't have '.part' as an extension.
    IF NOT "%%~xf"==".part" (
        REM  Ensure there's not a corresponding ".part" file.
        IF NOT EXIST "%TARGET_DIR%\%%~f.part" (
            DEL "%TARGET_DIR%\%%~f"
        )
    )
)

这将删除TARGET_DIR文件扩展名为“ .part”或没有“ .part”文件的文件。(根据我的经验,执行“ .part”功能的下载器也会保留“完成”文件的名称,您可能不想删除该文件。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除除特定文件以外的所有文件?

如何删除除目录中的文件以外的所有文件?

git删除除某些文件以外的所有文件

如何删除除目录以外的所有文件?

从XML文件中删除除URL以外的所有内容

删除除一个以外的所有.log文件

批量关闭除一个以外的所有用户打开的文件

批量关闭除一个以外的所有用户打开的文件

删除文件夹中除文件X,Y和Z以外的所有文件

如何删除除父文件夹下的某些特定文件夹以外的所有文件

Shell脚本:如何删除目录中除文件中列出的文件以外的所有文件?

使用命令行删除除指定文件/文件夹以外的所有文件?

使用批处理删除文件夹中除列表中的文件以外的所有文件

批量删除除指定文件和目录外的所有文件和目录

删除除带有视频扩展名的文件以外的所有文件

删除除bash中的某些文件以外的所有文件,而没有cd到目录中?

删除bash中除最新X文件以外的所有文件

删除Python中除最新文件夹以外的所有文件夹

Linux命令删除除.git文件夹以外的所有文件?

如何递归地删除除文件列表以外的所有文件?

Bash脚本可按字母顺序删除除N个文件以外的所有文件

如何删除除N个最新文件以外的所有文件?

在多个级别中删除除指定文件/目录以外的所有文件/目录

为什么不能使用git rm删除除特定文件类型以外的所有文件?

每月删除除最新备份文件以外的所有文件

如何删除Cloud Firestore中除一个文件以外的所有文件?

如何删除目录中除Solaris中的一个文件以外的所有文件

如何删除Bourne Shell中除特定文件以外的所有文件?

Linux:如何删除文件夹中除具有特定名称的文件以外的所有文件?