Como agregar dos espacios en blanco en cada línea de un texto con batch

Tengo varios archivos de texto (*.txt), como puedo hacer un bat que le agregue dos espacios en blanco al comienzo de cada línea de el archivo, y trabajarlos por lotes(Que lo haga a todos los archivos de una carpeta).

1 Respuesta

Respuesta
1

Si las líneas de los archivos no tienen espacios en blanco antes de la conversión y no hay líneas en blanco en los archivos esto podría servirte:

@echo off
for /f "tokens=*" %%x in ('dir /b *.txt') do call :2espacios "%%x"
goto :eof
:2espacios
Echo %1
del /q kkk.kkk
for /f "tokens=*" %%a in ('type %1') do echo   %%a>>kkk.kkk
copy /y kkk. Kkk %1

Si puede ocurrir alguna de esas dos cosas habría que pensárselo un poco más. Si te puede valer supongo que ya sabes que solo tienes que copiar el texto anterior en un bat, situarlo en la carpeta de trabajo y ejecutar el bat. Si tienes algún problema dímelo y lo mismo si hubiera que tratar líneas que ya empiezan con espacios previamente o archivos con líneas en blanco (el proceso anterior las suprime).

Se me coló un echo con propósitos de depuración. Debería ser así:

@echo off
for /f "tokens=*" %%x in ('dir /b *.txt') do call :2espacios "%%x"
goto :eof
:2espacios
del /q kkk.kkk
for /f "tokens=*" %%a in ('type %1') do echo   %%a>>kkk.kkk
copy /y kkk.kkk %1

El bat funciono a la perfección, quería saber si esta la posibilidad de que solo agregue los dos espacios a lo que está marcado en amarillo. Es decir que solo agregue dos espacios a las líneas que están después de "PTU_Standards" y antes de "Particular levels"

Prueba con esto:

@echo off
Setlocal EnableDelayedExpansion
for /f "tokens=*" %%x in ('dir /b *.txt') do call :2espacios "%%x"
goto :eof
:2espacios
del /q kkk.kkk
set control=N
for /f "tokens=*" %%a in ('type %1') do (
if "%%a"=="Particular levels" set control=N
if "!control!"=="S" echo   %%a>>kkk.kkk
if "!control!"=="N" echo %%a>>kkk.kkk
if "%%a"=="PTU_Standards" set control=S
)
copy /y kkk.kkk %1

Aerological report Sat, Aug 01, 2015
Icar version 14.05.30.18.00
Sonde type M10
Sonde Number 402 2 10085
Date 01/08/2015
Station ID 78807
Region 4
nation PANAMA
Station name COROZAL OESTE
Latitude 8°58.848'N
Longitude 79°34.500'W
Altitude +0008.0
Vz G->300 4.3 m/s 258 m/mn
Vz 300->100 4.6 m/s 276 m/mn
start flight 11h34mn18s
duration flight 01h46mn20s
Balloon burst at 13.3 hPa
Balloon burst at 29223 m
Balloon burst to 34.14 Km (Distance)
38 PTU_Significant
alt. pres. T. TD Hum. W.F W.D ind.
m hPa °C. °C % K ° -
00008 1009.0 +26.5 +25.6 95 02.9 320 TU Ground Level
00717 0931.2 +22.2 22.0 99 15.7 323 TU
00846 0917.6 +22.5 +20.6 89 17.8 331 U
01033 0898.2 +22.0 +20.3 90 09.3 012 T
01705 0831.0 +17.4 17.0 98 12.3 074 T
02497 0757.3 +14.7 +11.5 81 14.7 103 U
02848 0726.5 +13.1 +08.9 76 17.8 100 T
04161 0620.1 +04.1 +02.5 89 20.7 084 TU
04981 0560.3 +00.2 -04.4 71 21.7 087 U
05571 0520.3 -03.7 -03.7 100 11.7 081 U
06142 0483.9 -06.7 -09.3 82 06.8 069 U
07019 0432.0 -12.3 -12.8 96 04.5 168 TU
08734 0343.2 -25.2 -25.3 99 06.3 178 TU
09394 0313.2 -28.3 -34.6 54 14.0 203 TU
09929 0290.5 -32.9 -34.6 84 07.2 206 U
10838 0254.8 -40.0 -45.3 57 05.7 153 TU -40°C Level
11478 0231.7 -44.9 -54.0 35 08.8 199 U
11940 0216.1 -49.2 -52.9 64 08.6 213 U
12581 0195.7 -54.7 -62.6 36 11.7 183 U
13296 0174.6 -61.3 -65.0 60 13.3 182 TU
14486 0142.7 -71.7 -76.2 50 13.6 182 TU
15007 0130.6 -74.3 -79.5 44 13.9 185 TU Tropopause
15284 0124.5 -71.6 -77.9 38 06.5 284 T
17416 0086.4 -76.0 -87.6 14 13.4 100 T
18183 0075.8 -69.4 -81.3 15 21.9 068 T
19310 0062.8 -67.9 -89.4 03 28.5 086 U
20833 0048.9 -61.6 -90.6 01 27.2 092 T
21381 0044.8 -63.3 -91.7 01 31.4 077 T
22528 0037.2 -62.4 -91.2 00 31.4 076 T
22955 0034.7 -61.4 -90.4 00 29.4 073 T
23343 0032.6 -55.8 -86.6 00 33.9 067 T
23909 0029.8 -56.8 -87.2 00 13.7 138 T
24694 0026.4 -51.8 -83.8 00 16.7 127 T
25155 0024.6 -54.3 -85.5 00 11.9 211 T
25283 0024.1 -52.0 -83.9 00 09.3 232 T
26903 0018.7 -52.2 -84.1 00 12.3 066 T
27227 0017.8 -48.2 -81.3 00 18.5 093 T
29223 0013.3 -40.4 -76.1 00 19.8 057 T Burst
ground pressure 1009 Hpa
ground temperature 26.49 °C (sonde value)
ground Humidity 95.12 % (sonde value)
ground Wind speed 2.92 Knots (operator value)
ground Wind Dir 320 ° (operator value)
Cloud coding 33872
Total precipitable Water 16.8 mm
Present weather 05
Past weather //
PTU_Standards
alt. pres. T. TD Hum. W.F W.D W.Ve W.Vn
m hPa °C. °C % K ° m/s m/s
00091 1000.0 +25.8 +25.1 96 11.1 315 +07.8 -07.9
00542 0950.0 +23.4 +22.9 97 19.8 322 +12.3 -15.5
00776 0925.0 +22.1 +21.6 97 16.5 328 +08.7 -14.0
01015 0900.0 +21.8 +20.3 91 10.8 007 -01.4 -10.7
01511 0850.0 +18.7 +18.0 96 10.1 045 -07.1 -07.2
02031 0800.0 +16.3 +15.0 92 15.5 075 -15.0 -04.0
02301 0775.0 +15.4 +13.2 87 15.2 097 -15.1 +01.7
02580 0750.0 +14.1 +11.8 86 15.3 113 -14.1 +05.9
03160 0700.0 +11.0 +07.1 77 15.0 093 -15.0 +00.7
03775 0650.0 +07.1 +04.1 81 21.0 087 -21.0 -01.2
04429 0600.0 +02.5 +01.2 91 23.8 087 -23.8 -01.3
05129 0550.0 -00.9 -03.4 83 18.6 081 -18.4 -02.9
05884 0500.0 -05.2 -05.5 98 07.7 085 -07.7 -00.6
06705 0450.0 -10.5 -11.1 95 01.8 057 -01.5 -01.0
07602 0400.0 -17.1 -17.1 100 03.8 220 +02.4 +02.9
08592 0350.0 -23.9 -23.9 100 06.0 170 -01.1 +05.9
09701 0300.0 -30.8 -35.3 64 09.6 210 +04.8 +08.4
10966 0250.0 -41.0 -46.8 53 06.6 169 -01.3 +06.4
12442 0200.0 -53.4 -60.1 43 11.5 183 +00.7 +11.5
13282 0175.0 -61.1 -64.9 60 13.0 182 +00.5 +13.0
14214 0150.0 -69.3 -73.7 52 13.5 182 +00.6 +13.5
15261 0125.0 -71.7 -77.9 38 06.3 280 +06.3 -01.1
15502 0120.0 -73.5 -80.3 34 04.1 072 -03.9 -01.3
16568 0100.0 -73.0 -82.4 22 09.4 095 -09.4 +00.8
17191 0090.0 -75.4 -86.3 16 13.0 100 -12.8 +02.2
17861 0080.0 -73.9 -85.8 14 19.1 079 -18.7 -03.6
18246 0075.0 -69.5 -82.0 14 23.5 077 -22.9 -05.3
18668 0070.0 -68.7 -83.9 09 26.6 083 -26.4 -03.1
19588 0060.0 -66.6 -88.4 03 28.7 094 -28.7 +01.9
20700 0050.0 -62.9 -91.5 01 28.7 095 -28.6 +02.5
22104 0040.0 -62.7 -91.3 00 31.4 077 -30.6 -07.3
23876 0030.0 -56.6 -87.1 00 14.6 128 -11.6 +08.9
25041 0025.0 -53.9 -85.2 00 12.9 188 +01.9 +12.8
26467 0020.0 -53.3 -84.8 00 10.1 092 -10.1 +00.4
28403 0015.0 -42.4 -77.4 00 14.6 055 -12.0 -08.4
Particular levels
alt. pres. T°C. TD Hum. W.F W.D W.Ve W.Vn ind
m hPa °C. °C % K ° m/s m/s -
04927 0564.0 -00.02 -02.3 84.4 +21.49 089.2 -21.5 -00.3 ISO 0°C
06637 0454.0 -10.01 -11.0 92.6 +02.75 050 -02.1 -01.8 ISO-10°C
01010 0900.5 +21.86 +20.3 91 +11.12 005.9 -01.1 -11.1 Gd+1000
00017 1008.0 +26.6 +25.8 95.2 +11.02 311.1 +08.3 -07.2 T max
17442 0086.0 -76.02 -87.3 14.8 +17.9 103 -17.4 +04.0 T min
00317 0974.6 +24.09 +24.1 100 +16.39 312 +12.2 -11.0 U max
22528 0037.2 -62.43 -91.2 0-0 +31.4 076.4 -30.5 -07.4 U min
20391 0052.6 -64.16 -91.4 01.2 +34.61 098.4 -34.2 +05.1 W max
06831 0442.7 -11.32 -11.5 98.9 +00.81 265.9 +00.8 +00.1 W min
26 Wind_Significant
alt. pres. T°C. TD Hum. W.F W.D ind.
m hPa °C. °C % K ° -
00008 1009.0 +26.5 +25.6 95.12 +02.9 320 ground
00483 0956.4 +23.9 +23.3 96.8 +21.7 325 F
00883 0913.7 +22.3 +20.6 90.1 +18.0 337 D
01068 0894.5 +21.8 +20.0 89.7 +07.9 018 F
02574 0750.5 +14.2 +11.6 84.5 +15.5 112 D
04660 0583.1 +01.4 -00.6 86.8 +26.9 089 F
05913 0498.2 -05.2 -05.9 94.8 +07.1 080 D
06780 0445.6 -11.1 -11.3 98.2 +00.9 334 F
07188 0422.5 -13.7 -14.7 91.9 +07.2 172 D
09075 0327.4 -26.9 -32.7 57.3 +13.4 217 D
13296 0174.6 -61.3 -65.0 60.1 +13.3 182 F
14486 0142.7 -71.7 -76.2 50 +13.6 182 F
15346 0123.2 -72.1 -78.6 36.2 +02.6 017 F
17487 0085.3 -75.7 -87.4 14 +21.7 105 D
18219 0075.3 -69.5 -82.1 13.8 +23.0 076 D
20491 0051.7 -63.6 -91.0 01.2 +32.2 100 D
21381 0044.8 -63.3 -91.7 00.5 +31.4 077 F
22528 0037.2 -62.4 -91.2 0-0 +31.4 076 F
23459 0032.0 -56.1 -86.7 00.2 +34.6 083 F
23909 0029.8 -56.8 -87.2 00.1 +12.4 134 F
24545 0027.0 -52.3 -84.2 00.1 +18.9 103 F
25236 0024.3 -53.4 -84.9 00.1 +09.7 222 D
25454 0023.5 -52.6 -84.3 00.1 +01.1 148 F
25953 0021.7 -52.8 -84.5 00.1 +21.1 077 F
26399 0020.3 -53.3 -84.8 00.1 +09.7 096 F
29223 0013.3 -40.4 -76.1 00.2 +19.8 057 Burst
Wind_Standards Altitudes
alt. pres. T°C. TD Hum. W.F W.D
m hPa °C. °C % K °
00500 0954.6 +23.8 +23.2 97 +21.5 326
01000 0901.5 +22.0 +20.2 90 +11.6 136
01500 0850.6 +19.6 +17.6 88 +10.1 045
02000 0802.4 +17.1 +14.8 86 +12.6 076
02500 0757.0 +14.6 +12.0 85 +15.1 108
03000 0712.8 +11.6 +09.1 85 +17.8 108
04000 0631.6 +05.4 +03.3 86 +23.3 097
05000 0558.7 -00.4 -02.0 89 +21.5 087
05500 0524.7 -03.0 -04.1 92 +13.6 083
06000 0492.7 -05.8 -06.4 95 +06.5 106
07000 0433.0 -12.5 -13.2 95 +04.3 247
08000 0378.6 -19.4 -22.4 77 +09.9 191
09000 0330.7 -26.4 -32.0 59 +13.2 215
10000 0285.3 -34.4 -39.8 58 +13.4 209
10500 0264.8 -38.5 -43.6 58 +13.4 205
11000 0245.8 -42.6 -47.4 59 +13.4 201
12000 0211.8 -50.7 -55.1 59 +13.3 193
13000 0182.5 -58.9 -62.8 60 +13.3 185
13500 0168.7 -63.1 -67.0 58 +13.4 182
14000 0155.0 -67.4 -71.7 54 +13.5 182
15000 0130.7 -71.9 -77.6 42 +07.0 084
16000 0110.1 -73.2 -80.9 29 +08.4 044
17000 0092.7 -74.9 -84.9 19 +17.4 085
18000 0078.2 -71.4 -83.6 14 +22.6 085
18500 0071.9 -68.8 -82.2 12 +24.1 079
19000 0066.2 -67.5 -82.6 09 +26.2 084
20000 0056.1 -64.9 -85.6 04 +30.2 095
20500 0051.6 -63.6 -91.1 01 +32.2 100
22000 0040.5 -62.8 -91.4 00 +31.4 077
23500 0031.8 -56.2 -86.8 00 +32.6 087
24000 0029.4 -56.2 -86.8 00 +13.3 130
25000 0025.2 -53.0 -84.6 00 +12.8 181
26000 0021.5 -52.9 -84.5 00 +19.9 078
26500 0020.0 -52.8 -84.5 00 +10.1 094
28000 0016.0 -46.0 -79.8 00 +15.4 074

Copio el contenido de lo que hay en los archivos de texto, lo que esta en negrita es lo que deseo que se le agregue dos espacios en blanco a cada una, el ultimo batch no hizo logro hacer nada.

¡Que raro! En mis pruebas, en las que usé líneas con esos valores, sí que me funcionó. Ahora tengo que irme. Mañana pruebo y te digo algo.

He probado con tu archivo y me funciona. Ponme aquí el bat que has creado por si tuviera algún error. Te sugiero que lo insertes en un "snippet" (icono <> de la barra de herrmientas) es el que uso yo y resulta más legible.

@echo off
Setlocal EnableDelayedExpansion
for /f "tokens=*" %%x in ('dir /b *.txt') do call :2espacios "%%x"
goto :eof
:2espacios
del /q kkk.kkk
set control=N
for /f "tokens=*" %%a in ('type %1') do (
if "%%a"=="Particular levels" set control=N
if "!control!"=="S" echo   %%a>>kkk.kkk
if "!control!"=="N" echo %%a>>kkk.kkk
if "%%a"=="PTU_Standards" set control=S
)
copy /y kkk.kkk %1

Aquí lo copio

El archivo que me has pasado con el enlace de drive. Google.com (LIST-290512Z2015.txt) ya viene con las líneas precedidas de dos espacios, supongo que por haberle aplicado la versión anterior del bat. Como decía en mi primera respuesta, si las líneas tienen espacios "delanteros" el bat los elimina antes de aplicarle el "tratamiento" (que antes era insertar dos espacios delanteros y ahora sería insertarlos solo en las líneas comprendidas entre dos determinadas). Pero aún así el bat debería funcionar. El problema es que las líneas tienen tabuladores al final, lo cual hace que no se encuentren las palabras claves de inicio y fin de tratamiento. Sin embargo en el archivo que copié directamente de la página esos tabuladores no estaban presentes (supongo que la página los eliminó) y por eso a mí me funcionaba. Creo que esta versión del bat solucionará esos problemas:

@echo off
Setlocal EnableDelayedExpansion
for /f "tokens=*" %%x in ('dir /b *.txt') do call :2espacios "%%x"
goto :eof
:2espacios
del /q kkk.kkk
set control=N
for /f "tokens=*" %%a in ('type %1') do (
set clave=%%a
set clave=!clave:    =!
if "!clave!"=="Particular levels" set control=N
if "!control!"=="S" echo   %%a>>kkk.kkk
if "!control!"=="N" echo %%a>>kkk.kkk
if "!clave!"=="PTU_Standards" set control=S
)
copy /y kkk.kkk %1

Es imprescindible que lo que figura en línea 10 antes del "=" sea un tabulador y no el número de espacios equivalente. Ya me contarás si te ha funcionado.

Por lo que he visto mis temores se han confirmado, la página ha cambiado el tabulador del que hablaba por 4 espacios. Debes dejarlo correctamente antes de ejecutar el bat. Si tienes algún problema dímelo.

Acabo de realizar el cambio que usted sugirió y sus temores han sido confirmado, el tabulador del código en la página fue cambiado por 4 espacios por la página, realice el cambio y el bat está trabajando perfectamente. Muchas Gracias por todo y su tiempo de dedicación.

Me alegro de que te haya funcionado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas