- <# :
- cls
- @echo off
- rem 有问题,可加QQ956535081及时沟通
- cd /d "%~dp0"
- powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
- pause
- exit
- #>
- $folder='.';
- $dic=New-Object 'System.Collections.Generic.Dictionary[string,int]';
- for($i=100001;$i -le 199999;$i++){
- $n=$i.toString().Substring(1);
- $dic.Add($n,0);
- };
- $files=@(dir -liter $folder|?{('.bat' -ne $_.Extension) -and ($_ -is [System.IO.FileInfo])});
- for($i=0;$i -lt $files.length;$i++){
- $base=$files[$i].BaseName;
- if(-not $dic.ContainsKey($base)){
- foreach($it in $dic.Keys){
- if($dic[$it] -eq 0){
- $newname=$it+$files[$i].Extension;
- write-host ($files[$i].Name+' --> '+$newname);
- mv -liter $files[$i].FullName ($files[$i].Directory.FullName+'\'+$newname);
- $dic[$it]++;break;
- };
- };
- }else{$dic[$base]++};
- }
复制代码
|