Tengo un .bat
script que combina algunos archivos de texto en un archivo grande. Me gustaría que el archivo resultante vaya al directorio actual en lugar de a la ruta codificada.
Aquí está mi guión:
@echo off
:loop
if ($1) == () goto end
more +9 %1% >> %cd%\bigfile.txt
shift
goto loop
:end
Tengo esto guardado en la carpeta "Enviar a", por lo que puedo seleccionar un montón de archivos en el DirectorioA, hacer clic derecho y "enviar a" mi secuencia de comandos por lotes. Esto funciona, pero quiero que bigfile.txt esté en el mismo directorio que todos los archivos pequeños. ¿Ideas?
Respuesta1
@echo off
setlocal enableextensions disabledelayedexpansion
:loop
if "%~1"=="" goto :eof
more +9 "%~1" >> "%~dp1bigfile.txt"
shift
goto loop
Agregue la salida a un archivo ( bigfile.txt
) en la misma unidad y ruta que el archivo fuente
Respuesta2
que se puede lograr reemplazando
%cd%\bigfile.txt
con
%cd:~0,2%%~p1
obtiene la cadena de la ruta hasta el directorio principal (con la unidad especificada)