批量文件命令删除目录中的所有音频/Jpg,但不包括存档?

问题描述 投票:0回答:1

在我的公司,我们每天批量处理大量音频和 jpg。这不可避免地会导致硬盘驱动器填满,并且需要删除这些文件,同时保留批次的 XML。

不幸的是,我对代码的实际了解很少。

我正在使用以下内容:

del /S *.flac
del /S *.jpg

为了加快进程,由于“存档”文件夹扩展并且需要很长时间才能处理批处理文件,我将其更改为:

set "directory=D:(relevant directory)\Done"
set "excludeFolder=Archive"
del /S *.flac
del /S *.jpg

但是,我无法判断这是否真的加快了该过程,因为仍然有很长的停顿,这意味着它仍在搜索我的“存档”文件夹。

batch-file batch-processing
1个回答
0
投票
@echo off
:: Set variables for your Folders
set "directory=D:(relevant directory)\Done"
set "excludeFolder=Archive"  REM (SET Full Path)

:: Deny access to Archive folder
iCACLS "%excludeFolder%" /deny %username%:M
:: Use for loop to iterate throught file extensions you want to delete
FOR %%A IN (flac jpg) DO (
    DEL /s "%directory%\*.%%A"
)
:: Grant access to Archive folder once again
iCACLS "%excludeFolder%" /grant %username%:M

备注:

  • 使用 iCACLS 拒绝访问存档文件夹以忽略对 它的文件。
  • 使用FOR循环添加要搜索和删除的文件扩展名 你的目录。
  • 使用 DEL /s 从所有子文件夹中删除所需的文件。
  • 再次使用 iCACLS 授予对存档文件夹的访问权限。

希望这个解决方案对您有所帮助,如果还有任何其他问题,我将很乐意为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.