网友求助:win11中,文件夹(有多个文件夹)下有9W多个文件,文件名长短不一,文件名太长的,无法拷贝到联想个人云盘中,但是缩短文件名长度后,就可以拷了,但是这样的文件没办法快速查找到,如何能快速的找到文件名较长的文件?
仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为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,'');}
}