4 votos

Cómo cambiar el nombre de un archivo con un nombre de archivo parcialmente desconocido

Esta es una pregunta sobre archivos por lotes de Windows 10. Necesito cambiar el nombre de una serie de archivos en función de sus nombres, pero solo conozco parte del nombre de cada archivo. Con la orientación de varias páginas de este sitio, he probado los siguientes pasos. Me cansé de los comentados por pero no funcionaron. El comando REN funcionó parcialmente, pero no conservó todo el nombre del archivo original. Espero que el siguiente código le ayude a comprender lo que estoy intentando hacer.

 ::Append 00 as a prefix to the name of whatever filename contains a specific string
::
setlocal
::set fname=
set fname=ADPMasterControl.pdf
::SITE EXAMPLE: for %a in (prefix*.txt) do @(set "fname=%a" & call ren "%fname%" "%fname:*prefix=%")
::for %a in (*ADPMasterControl.pdf) do @(set fname=%a & call ren %fname% "%fname:*prefix=%")
::for %a in (*ADPMasterControl.pdf) do @(set fname=%a & call ren %fname% "00 %fname%")
::for %a in (*ADPMasterControl.pdf) do (set fname=%a & call ren %fname% "00 %fname%")
ren *%fname% "00 *%fname%" <----------this KINDA SORTA works but it's dropping/replacing the first three characters of the original filename instead of just appending "00 " to the beginning

Desired:
ren 1234_###_1_4641_2020-07-30_ADPMasterControl.pdf "00 1234_###_1_4641_2020-07-30_ADPMasterControl.pdf"

What actually happened:
ren 1234_###_1_4641_2020-07-30_ADPMasterControl.pdf "00 4_###_1_4641_2020-07-30_ADPMasterControl.pdf"

echo . > "08 Pays to Non-Actives.txt" <---THIS WORKED FINE
pause
exit
 

1voto

Keith Miller Puntos 1

En Windows 10 debería utilizar PowerShell .

 $SearchName = 'ADPMasterControl.pdf'
$SearchPath = "*$SearchName"
gci $SearchPath | Rename-Item -NewName { '00 {0}' -f $_.Name }
 

gci / Get-ChildItem

Cambiar nombre de elemento

1voto

Mandralis Puntos 76

Esta línea funciona:

for %%a in (*ADPMasterControl.pdf) do (set fname=%%a & call ren %%fname%% "00 %%fname%%")

Muchas gracias a todos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: