
Estoy intentando cambiar el guión; en lugar de agregar una línea file.txt
, quiero hacerlo para todos *.txt
los archivos dentro del directorio. Este script elimina nuevas líneas y agrega una coma para separarlas.
Cualquier ayuda se agradece.
@echo off
setlocal EnableDelayedExpansion
set "line="
for /F "delims=" %%a in (inputfile.txt) do set "line=!line!,%%a"
echo !line:~1!>>outputfile.txt
MI archivo de entrada que estoy intentando usar es el siguiente csv 2019-05-29 08:03:48,InclinaciónA,3.420,19.9,0.5017,0.6903 2019-05-29 09:03:48,InclinaciónB,3.420,19.9,0.3017,0.6903 2019-05-29 08:03:48 ,TiltC,3.420,19.9,0.5017,0.6903 2019-05-29 09:03:48,TiltD,3.420,19.9,0.3017,0.6903 2019-05-29 08:03:48,TiltE,3.420,19.9,0.5017,0 .6903
Respuesta1
¡Gracias por aclararlo! Esto debería llevarte en la dirección correcta:
@echo off
set "dir=C:\Your\Directory"
set "dirs=C:\Your\Output\Folder"
setlocal enabledelayedexpansion
for /r "%dir%" %%A in (*.txt) do (
set "new=%%~nA"
if exist "%dirs%\!new!.txt" del /f /q "%dirs%\!new!.txt"
for /f %%B in (%%A) do (
echo|set /p="%%B,"
) >> "%dirs%\!new!.txt"
)
Recomiendo encarecidamente tener una carpeta de salida diferente a menos que desee sobrescribir los archivos de texto de origen, así que esto es lo que se me ocurrió. El primer bucle revisará todos sus archivos txt en el directorio especificado ( for /r %dir%
) y establecerá el nombre de cada uno de ellos como variable new
; Inmediatamente después comprobará la existencia de ese new
archivo txt en su directorio de salida y lo eliminará; este es un paso crucial porque tenemos que usar >>
para generar todos los %%B
parámetros en una sola línea, ya que >
sobrescribirá todas las entradas anteriores. Si no elimina ningún new
archivo de texto potencial creado al ejecutar previamente el script, se duplicarán las entradas en la línea. Una vez solucionado esto, tenemos un bucle for anidado que toma la información del archivo de texto y la utiliza echo|set /p
para colocar cada uno %%B
en la misma línea con un archivo ,
. Con esta secuencia de comandos básica, habrá un seguimiento ,
del que es posible que desee deshacerse o no; de lo contrario, creo que esto logrará lo que está buscando.