Tengo un archivo sample.txt con alrededor de 1000 cadenas y tengo una carpeta de carpeta principal "adapt" que contiene muchos archivos (los archivos también están presentes dentro de muchas subcarpetas y los tipos de archivos son .xml, .cpp, .h y algunos más) .
Necesito un script por lotes que tomará la entrada como el archivo sample.txt (que está presente en el mismo directorio donde está el script por lotes) y le pide al usuario que seleccione la carpeta / permite al usuario modificar la ruta de la carpeta en el código (carpeta también está presente en el mismo directorio que el archivo por lotes), y dentro de la carpeta y subcarpetas en todos los tipos de archivos, tiene que buscar cada cadena en el archivo sample.txt y, si se encuentra, escriba "encontrado" en el archivo result.txt / if no encontrado escriba "no encontrado" en el archivo result.txt.
Aquí hay algunas cadenas en el archivo de texto
paquete
servidor_i_0
P_70_d1
gi_m_70_d2
Encontré un script que le pide al usuario una cadena y le da las coincidencias en otro archivo de texto, pero tengo problemas para actualizarlo. Aquí está lo que encontré enlace .
El código que estoy tratando de modificar está debajo.
@echo off
set OUTPUT_FILE="output.txt"
set /p "var1=Enter the String to Find: "
pushd %~p0
type NUL > %OUTPUT _FILE%.tmp
for /f "delims=" %%a in ('dir /B /S *.txt') do (
for /f "tokens=3 delims=:" %%c in ('find /i /c "%var1%" "%%a"') do (
for /f "tokens=*" %%f in ('find /i "%var1%" "%%a"') do if %%c neq 0 echo %%f
)
) >> "%OUTPUT_FILE%".tmp
move %OUTPUT_FILE%.tmp %OUTPUT_FILE% >nul 2>&1
popd
Cualquier ayuda con el guión por favor.
fuente
Respuestas:
Puede verificar mi respuesta en esta pregunta de desbordamiento de pila : también la he pegado a continuación:
fuente