gpt4 book ai didi

windows - 删除所有设置为隐藏或只读或系统的文件

转载 作者:可可西里 更新时间:2023-11-01 11:50:14 25 4
gpt4 key购买 nike

我想删除当前文件夹和所有子文件夹中的所有jpgini 和更多类型,然后删除所有空文件夹(递归)。其中一些文件要么是只读的,要么是隐藏的,或者甚至设置为系统文件,因此只有 del/s *.jpg 不会删除它们。问题是当我这样做时,语法似乎正在使用逻辑 and:del/a:h/a:r/s *.jpg 所以只读和隐藏文件被删除,但不仅是隐藏文件。有没有办法让它使用逻辑 代替?

如果不复制粘贴相同的行并做一些小的改动,我找不到让它工作的例子。

关于rmdir,我是否必须cd到当前文件夹?因为它说下面的代码中存在语法错误:

del /s *.jpg
del /a:h /a:r /s *.jpg
rmdir /s /q
pause

EDIT3:我认为现在它删除了所有内容:del/s/f/a:h/a:a *.jpg

我发现这个用于删除空文件夹,但如果文件夹设置为只读则不起作用:

https://superuser.com/a/39679/451485

最佳答案

未经测试,但我相信以下方法会起作用:

@echo off

:: Remove readonly / hidden / system attributes from all files of interest
attrib -r -h -s *.jpg /s
attrib -r -h -s *.ini /s
rem etc...

:: Delete the files of interest
del /s *.jpg *.ini

:: for each folder, sorted descending by full path (children come before parent)
for /f "delims=" %%F in ('dir /b /ad /s *^|sort /r') do (
REM check if folder is empty
dir /b /a "%%F" | findstr "^" >nul || (
REM remove directory with /S /Q works, even if folder is read only
rd /s /q "%%F"
)
)

关于windows - 删除所有设置为隐藏或只读或系统的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31505966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com