不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件或文件夹放一起双击运行
<# :cls&echo off&cd /d "%~dp0"
rem 查找出当前文件夹下文件名称超过指定长度的文件
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo%#% +%$%%$%/%_% %z%
pause
exit
#>
$len=10
$self=get-item -literal $env:self
$current=$self.Directory.FullName
$files=@(dir -literal $current -recurse|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])})
for($i=0$i -lt $files.length$i++){
$base=$files[$i].BaseName
if($base.length -gt $len){$files[$i].FullName.replace($current,'')}
}
Windows下,win+R运行,输入Powershell,运行比如要查D盘,输入命令:
cd d:
再输入命令,200参数指文件名长度超200的,可以写为256,最长了:
Get-ChildItem -r * |? {$_.GetType().Name -match"File" } |? {$_.fullname.length -ge 200} |%{$_.fullname}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)