
Estoy intentando obtener los valores MD5 de todos los archivos en subcarpetas que se encuentran en el archivo externo PathList.txt.
No puedo hacer que el script use los nombres de ruta como se definen en %%i
.
En el ejemplo que utilicé "C:\Temp\example\"
en lugar de %%i
, el script funcionará.
@ECHO off
echo Files MD5 > MD5_log.txt
FOR /F %%i IN (PathList.txt) DO (
@FOR /R "C:\Temp\example\" %%G in (*) DO (
for %%a in (%%G) do certutil -hashfile "%%~a" MD5 | find /i /v "certutil">> MD5_log.txt
)
)
ListaDeRutas.txt
C:\folder1\
C:\folder2\
Esto es para una computadora vieja, no tengo la opción Powershell.
¿Cómo puedo hacer que funcione?
Respuesta1
No puedo hacer que el script use los nombres de ruta como se define en%%i
A continuación encontrará un archivo por lotes funcional (test.cmd):
@echo off
setlocal EnableDelayedExpansion
echo Files MD5 > MD5_log.txt
for /f "tokens=*" %%i in (PathList.txt) do (
for /f "tokens=*" %%j in ('dir /b /s "%%i"') do (
certutil -hashfile "%%j" MD5 | find /i /v "certutil" >> MD5_log.txt
)
)
endlocal
Salida de muestra:
> type PathList.txt
f:\test\bar
f:\test\bar - Copy
f:\test\foo
> test
> type MD5_log.txt
Files MD5
MD5 hash of file f:\test\bar\test.cmd:
eb 4f 28 f4 a0 b0 c5 21 0d e8 5f 99 0f d8 fd ab
MD5 hash of file f:\test\bar\test.html:
3a 68 3a f6 4e 88 f1 22 62 d6 46 dc bb 54 59 45
MD5 hash of file f:\test\bar\test.ps1:
07 fd 41 59 6b fa 90 06 49 4f bf e3 dd be 0d 1c
MD5 hash of file f:\test\bar - Copy\test with space.cmd:
eb 4f 28 f4 a0 b0 c5 21 0d e8 5f 99 0f d8 fd ab
MD5 hash of file f:\test\bar - Copy\test.html:
3a 68 3a f6 4e 88 f1 22 62 d6 46 dc bb 54 59 45
MD5 hash of file f:\test\bar - Copy\test.ps1:
07 fd 41 59 6b fa 90 06 49 4f bf e3 dd be 0d 1c
MD5 hash of file f:\test\foo\test.sh:
d2 12 38 76 9d 8e 9f 51 1a 60 0b 15 6c 0c f8 38
MD5 hash of file f:\test\foo\test.xml:
cd 8f d1 c6 66 ac ff 7f 98 d2 e9 4a ad b5 20 1f
MD5 hash of file f:\test\foo\test.yaml:
78 ce a1 f0 97 46 ee 32 c6 7f f6 16 8d 94 04 d2
MD5 hash of file f:\test\foo\test.yml:
78 ce a1 f0 97 46 ee 32 c6 7f f6 16 8d 94 04 d2
Otras lecturas
- Un índice AZ de la línea de comando CMD de Windows | SS64.com
Comandos CMD de Windows (categorizados) - CMD de Windows - SS64.com
Utilidad de autoridad de certificación CertUtil - CMD de Windows - SS64.com
- Dir - lista de archivos y carpetas - CMD de Windows - SS64.com
- Findstr - Búsqueda de cadenas - CMD de Windows - SS64.com
- Para - Recorrer archivos - Windows CMD - SS64.com
- Para - Recorrer la salida del comando - Windows CMD - SS64.com