求批处理, 指定目录下有多个文件夹和文件,只删除包含有指定字符的文件夹(不管文件夹里有没有内容)
求批处理,指定目录下有多个文件夹和文件,只删除包含有指定字符的文件夹(不管文件夹里有没有内容),包含有指定字符的文件夹保留日期最新的那1个文件夹。...
求批处理, 指定目录下有多个文件夹和文件,只删除包含有指定字符的文件夹(不管文件夹里有没有内容),包含有指定字符的文件夹保留日期最新的那1个文件夹。
展开
展开全部
del /f/s/q *.* ;删除所有目录和子目录下的文件
rd /s/q *.* ;删除所有目录和子目录
指定文件名是指定的相通字符不变,用通配符*用来替代文件名中不同字符。
rd /s/q *.* ;删除所有目录和子目录
指定文件名是指定的相通字符不变,用通配符*用来替代文件名中不同字符。
展开全部
作业还是啥,先搜索,然后再处理,LINUX的话可以直接EXEC来处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo
setlocal enabledelayedexpansion
set DIR=D:\22\
rem 查找D:\22\目录下含新建字符的文件及文件夹
for /f "tokens=4 delims= " %%i in ('dir %DIR% ^| findstr /L "新建"') do (echo %%i >>1.txt)
rem 删除含新建字符的文件夹
for /f %%a in (1.txt) do rd /q /s %DIR%%%a
pause
setlocal enabledelayedexpansion
set DIR=D:\22\
rem 查找D:\22\目录下含新建字符的文件及文件夹
for /f "tokens=4 delims= " %%i in ('dir %DIR% ^| findstr /L "新建"') do (echo %%i >>1.txt)
rem 删除含新建字符的文件夹
for /f %%a in (1.txt) do rd /q /s %DIR%%%a
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
<# :
cls
@echo off
rem 删除一个指定目录下名称中包含有指定字符串的文件夹,但保留创建日期最新的一个
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path="D:\xxx\指定目录";
$keyword="指定字符";
if(-not (test-path -liter $path)){Write-host ('"'+$path+'" not found');exit;};
[System.Collections.ArrayList]$list=@();
$folders=@(dir -liter $path|?{($_.Name.toLower().Contains($keyword.toLower())) -and ($_ -is [System.IO.DirectoryInfo])}|sort {$_.CreationTime} -des);
for($i=0;$i -lt $folders.length;$i++){
if($i -eq 0){
write-host $folders[$i].Name;
}else{
write-host ('[delete]'+$folders[$i].Name);
};
}
<# :
cls
@echo off
rem 删除一个指定目录下名称中包含有指定字符串的文件夹,但保留创建日期最新的一个
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path="D:\xxx\指定目录";
$keyword="指定字符";
if(-not (test-path -liter $path)){Write-host ('"'+$path+'" not found');exit;};
[System.Collections.ArrayList]$list=@();
$folders=@(dir -liter $path|?{($_.Name.toLower().Contains($keyword.toLower())) -and ($_ -is [System.IO.DirectoryInfo])}|sort {$_.CreationTime} -des);
for($i=0;$i -lt $folders.length;$i++){
if($i -eq 0){
write-host $folders[$i].Name;
}else{
write-host ('[delete]'+$folders[$i].Name);
};
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删除目录里的文件 del /f/s/q 目录路径\文件名.后缀名
删除目录里的子目录(文件夹) rd /f/s/q 目录路径\子目录名
删除目录里的子目录(文件夹) rd /f/s/q 目录路径\子目录名
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询