¿El lote Bat identifica caracteres específicos en archivos y los mueve a carpetas con los mismos caracteres específicos?
-
& lt#:
cls & amp eco apagado y. Mode control line=5000
Rem copia los archivos en el directorio especificado a la subcarpeta correspondiente en otro directorio según los caracteres de prefijo con el mismo nombre al principio.
set # =Cualquier pregunta & ampWX & amp;set $ = Q & ampset/az=0x53b7e0b4
título %#% +%$%%$%/%_% % z%
omisión de política de ejecución de perfil de powershell "[IO.File]::ReadAllText('%~f0 ',[Text.encoding]::get encoding(' GB 2312 ')| Invocar -Expresión "
Eco;%#% +%$%%$%/%_% %z%
Abortar
Exportar
# & gt
$filepath="D:\Descarga de documento oficial";
$ folderpath = "\ \ IP \ * *Carpeta compartida";
if(-not(test-path-liter $ ruta del archivo)){ write-host('+$ ruta del archivo+' ' "No encontrado'); salir; };
if(-not (test-path-liter $ ruta de carpeta)){ write-host('+$ ruta de carpeta+' ' "No encontrado'); salir; };
$ b =[Convertir]::desde cadena base 64 (" IC 0 tpia = ");
$c=[Texto. codificación]::Predeterminado
$dic = nuevas colecciones de objetos [cadena, Objeto] ';
$files=@(dir -literal $filepath|?{ $_-is[System.IO.FileInfo]});
$carpetas = @(dir- literal$folderpath-recurse|?{$_-is[system.io.directoryinfo]});
for($I=0;$I-lt$ archivos . longitud; $i++){
$ arr = $ archivos[$ I]. nombre base . a lower(). split('-'); p>
if(-no $dic. contiene clave($ arr[0]){
[System. colecciones . ArrayList]$brr = @();
$dic.add($arr[0],$brr);
}
[void ]$dic[$arr[0]]. add($ archivos[$ I]);
}
}
for($ I = 0; $ I-lt $ carpetas . longitud; $ i++){
$arr=$carpetas[$i].Name.toLower().
split('-');
if($arr . length-ge 2){
if ($dic.contains key($ arr[0]){
p>for($ j = 0; $j -lt $dic[$arr[0]]. Contar; $j++){
$dic[$arr[0]][ $j].Nombre completo+$ c+$carpeta[$i].
}
}
}
}