你能帮我解决以下问题吗? 我经常必须执行相同的任务,即从一个目录中删除几乎所有文件 - 所有文件只有2个(比如1st.file和2nd.file)。 我找到了多个解决方案,如何从目录中删除所有,但不知道如何解决这个问题。 你能指出在哪里找到解决方案吗?
答案 0 :(得分:0)
这样的事可能会让你开始。
@ECHO OFF
SET RemoveFolder=C:\Temp
MV %RemoveFolder%\1st.file 1st.file
MV %RemoveFolder%\2nd.file 2nd.file
RD /S /Q %RemoveFolder%
IF NOT EXIST %RemoveFolder% MD %RemoveFolder%
MV 1st.File %RemoveFolder%
MV 2nd.File %RemoveFolder%
SET RemoveFolder=
答案 1 :(得分:0)
将DONOTDELETE.ME
替换为您的文件,该文件不会被删除。
@echo off
for /r . %%a in (*.*) do (
IF NOT "%%~nxa" == "DONOTDELETE.ME" (
DEL "%%a" )
)
你也可以对有问题的文件attrib -r
进行操作,然后删除只读标志:
@echo off
cd \myFiles
attrib myFiles\DONOTDELETE1.ME +r
attrib myFiles\DONOTDELETE2.ME +r
del myFiles\*.* /q /s /a-r
attrib myFiles\DONOTDELETE1.ME -r
attrib myFiles\DONOTDELETE2.ME -r
for /f %%a in ('dir myFiles/ad /b') do echo rd myFiles\%%a /q/s
答案 2 :(得分:0)
这有点hackish,但您可以只更改您不想删除的文件的属性...然后在调用erase时排除具有该属性的所有文件。
这样打电话: TestDelete.Bat“c:\ DeleteAllFilesExcept”,LeaveFile1.txt,LeaveFile2.txt
ATTRIB +H %2
ATTRIB +H %3
erase %1 /A-H
ATTRIB -H %2
ATTRIB -H %3
当然,如果您打算从目录中删除隐藏文件,这将无效。