帮我写一个批处理,删除指定目录下的文件 ,并保留最近一个小时的文件
时间: 2023-02-21 14:14:26 浏览: 165
好的,这是一个 Windows 系统下的批处理代码,它会删除指定目录下的文件,并保留最近一个小时的文件。
```
@echo off
set folder=C:\example\folder
forfiles -p %folder% -s -m *.* -d -60 -c "cmd /c del @path"
```
将 `C:\example\folder` 替换为你想要操作的目录即可。
相关问题
删除指定文件夹中除保留的文件外的所有文件批处理 删除指定文件夹下的空文件夹,包括子目录批处理...
您好,要实现删除指定文件夹中除保留的文件外的所有文件,可以使用以下的批处理命令:
```batch
@echo off
set "folder=C:\path\to\your\folder"
set "keepfile=C:\path\to\your\keep\file.txt"
for /f "delims=" %%i in ('dir /b "%folder%"') do (
set "deletefile=true"
for /f "usebackq delims=" %%j in ("%keepfile%") do (
if "%%i"=="%%j" set "deletefile=false"
)
if "%deletefile%"=="true" del "%folder%\%%i"
)
```
其中,将 `C:\path\to\your\folder` 替换为要删除文件的文件夹路径,将 `C:\path\to\your\keep\file.txt` 替换为保留文件列表的文件路径。在保留文件列表文件中,每行写入一个要保留的文件名(包括扩展名),如:
```
keepfile1.txt
keepfile2.jpg
keepfile3.exe
```
要实现删除指定文件夹下的空文件夹,包括子目录,可以使用以下的批处理命令:
```batch
@echo off
set "folder=C:\path\to\your\folder"
:loop
for /d %%i in ("%folder%\*") do (
rd "%%i" 2>nul
goto :loop
)
```
其中,将 `C:\path\to\your\folder` 替换为要删除空文件夹的文件夹路径。这段命令会不断地遍历当前文件夹及其子文件夹,删除空文件夹,直到没有空文件夹为止。
生成一个删除文件夹下所有文件,其中包括该路径下非空文件夹,保留删除路径文件夹的上级目录的.bat批处理文件
好的,以下是一个批处理文件示例,可以删除指定路径下的所有文件,包括非空文件夹,但保留删除路径文件夹的上级目录:
```bat
@echo off
set folderPath=C:\path\to\folder
if exist %folderPath% (
for /d %%i in (%folderPath%\*) do (
rd /s /q "%%i"
)
del /q %folderPath%\*.*
echo All files and subfolders in %folderPath% have been deleted successfully.
) else (
echo The specified folder does not exist.
)
pause
```
请将 `C:\path\to\folder` 替换为实际的文件夹路径。此批处理文件将检查指定的文件夹是否存在,如果存在,则使用 `for /d` 命令循环遍历该文件夹下的所有子文件夹,并使用 `rd /s /q` 命令删除每个子文件夹(包括其中的所有文件和子文件夹)。然后,使用 `del /q` 命令删除指定文件夹下的所有文件。最后,在命令行窗口中显示相应的消息。
希望这个批处理文件能满足您的需求!如果您有其他问题,请随时提问。
阅读全文