1. 比如我们需要删除指定目录的子目录后缀名为pdb的文件
set A=D:\1\
del /s /q %A%\*.pdb
2. 比如我们需要删除指定目录的子目录名称为obj的文件夹
set A=D:\1\
for /f "delims=" %%a in ('dir /s /b /ad obj') do (
rd /s /q "%%a"
)
3. 比如我们想将A目录下的不需要的文件及文件夹先删除,然后再将A目录中的文件向B目录中进行增量更新
@echo off
::设置A目录路径
set A=D:\1\
::设置B目录路径
set B=D:\2\
for /f "delims=" %%a in ('dir /s /b /ad GeneratedFiles') do (
rd /s /q "%%a"
)
for /f "delims=" %%a in ('dir /s /b /ad obj') do (
rd /s /q "%%a"
)
del /s /q %A%\*.pdb
del /s /q %A%\*.user
del /s /q %A%\*.aps
setlocal enabledelayedexpansion
Call :GetABFullPath "%A%" "%B%"
for /f "delims=" %%a in ('dir /s/b "%B%"') do (
set "str=%%~a"
if not exist "!str:%B%=%A%!" (
dir /ad "!str!" >nul 2>nul && rd /s/q "!str!" 2>nul || del /f/q "!str!" 2>nul
)
)
xcopy /s/e/y/d "%A%" "%B%"
pause & exit
:GetABFullPath
set "A=%~f1"
set "B=%~f2"
goto :eof