file - texto - comparar dos documentos word online
¿Cómo puedo comparar dos archivos en un archivo por lotes? (3)
Creo que puedes usar el comando "FC" y luego revisar el nivel de error. Aquí hay un código:
@echo off
:main
fc c:/filename r:/filemame > nul
if errorlevel 1 goto error
:next
echo insert next CD
pause
goto main
:error
echo failed check
(Obtenido de http://www.computing.net/answers/dos/batch-file-command/15753.html )
¿Cómo puedo comparar dos archivos en un archivo por lotes y realizar una acción en función de si coinciden o no? He intentado algo como:
if file1.txt NEQ file2.txt goto label
pero compara la cadena real "file1.txt" en lugar del archivo. He leído sobre el comando COMP, pero no parece funcionar si lo puse en una sentencia if. ¿Alguien sabe cómo hacer esto? Lo siento, pero rara vez uso archivos por lotes y tengo poca experiencia en ellos.
Gracias por adelantado.
Parece que el programa COMP es bastante fácil de usar. Ver esta pregunta en las respuestas de Yahoo.
Tenga en cuenta que ejecutando comp /?
imprimirá el texto de ayuda para el programa (al igual que especifica el argumento /?
con cualquier programa de línea de comandos nativo de Windows). Esto genera el mismo texto que ve en la respuesta de la pregunta vinculada anteriormente.
Contenido de la respuesta de Yahoo:
C:/>comp /?
Compares the contents of two files or sets of files.
COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]]
data1 Specifies location and name(s) of first file(s) to compare.
data2 Specifies location and name(s) of second files to compare.
/D Displays differences in decimal format.
/A Displays differences in ASCII characters.
/L Displays line numbers for differences.
/N=number Compares only the first specified number of lines in each file.
/C Disregards case of ASCII letters when comparing files.
/OFF[LINE] Do not skip files with offline attribute set.
To compare sets of files, use wildcards in data1 and data2 parameters.
Utilizo el siguiente ejemplo para crear informes basados en diferencias de archivos:
set %Batch_Work_Space_Dir%=folder for your batch file and temp resource files
set file_1=name of file
set file_2=name of file
fc %file_1% %file_1%t > %Batch_Work_Space_Dir%/Are_They_Different.txt
powershell -command "(Get-Content %Batch_Work_Space_Dir%/Are_They_Different.txt) | select -skip 1 | Set-Content %Batch_Work_Space_Dir%/Are_They_Different.txt"
set /p Diff_Found=<%Batch_Work_Space_Dir%/Are_They_Different.txt
if %Diff_Found:~0,17%" == "FC: no difference" (
execute commands
)