我有一个文件夹(临时文件夹)中的三个文件
1.txt 2.exe 3.txt
现在我将使用批处理来编写脚本来删除文件夹中除一个文件(3.txt)以外的所有文件。 如何写在脚本中。 我尝试使用
del temp /Q
但它会删除我的文件夹中的所有文件。 我不想全部删除。 我只想删除1.txt和2.exe。 考虑文件的数量大。
您可以使用该命令
except 3.txt del temp /Q
它将删除除3.txt以外的文件夹中的所有文件
如果循环访问目录的内容,则可以应用所需的任何逻辑,并对这些内容执行任何可能需要的操作。 例:
@echo off setlocal enableextensions enabledelayedexpansion set dirPath=C:\Users\BuvinJ\Desktop\test pushd !dirPath! :: Loop through all files in this directory for %%a in (*) do ( set fileName=%%a if "!fileName!"=="1.txt" ( echo FOUND: !fileName! ) else ( echo OTHER: !fileName! ) ) :: Loop through all sub directories in this directory for /d %%a in (*) do ( set dirName=%%a echo Directory: !dirName! ) popd
您可能还想要“递归”地浏览内容,即向下钻取嵌套的子目录。 为此,请在for语句之后添加/ r(例如,在示例中使用/ d来循环目录而不是文件)。
有关这种循环的更多信息,请查看: http : //ss64.com/nt/for2.html