Ms-Dos - for no funciona con un .BAT

 
Vista:

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 06/06/2020 21:34:18
Tengo este codigo en un .BAT:

1
2
3
4
5
6
7
8
Set fs = CreateObject("Scripting.FileSystemObject")
For i = 1 To 2
   'Creamos un archivo con el método CreateTextFile
   n = "C:\Users\alejo\Desktop\archivo " & i & " .txt"
   Set Archivo = fs.CreateTextFile(n, True)
   Archivo.WriteLine "Aqui debe escribirse un tema"
   Archivo.Close
next

para crear estos archivos, pero me da un error:Set fs = CreateObject("Scripting.FileSystemObject")
no se esperaba i en este momento


1
C:\Users\alejo\Desktop\For i = 1 To 2
Ahora porque da ese error? si la variable i esta bien ubicada en el FOR?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

for no funciona con un .BAT

Publicado por Antoni Masana (812 intervenciones) el 07/06/2020 00:04:03
Si guardas este código con extensión
1
.vbs
funciona perfectamente.

Lo he probado.

1
2
3
4
C:\Tmp\Cosmito> dir
06/06/2020  23:55    <DIR>          .
06/06/2020  23:55    <DIR>          ..
06/06/2020  23:54               289 Fichero.vbs

1
2
3
4
5
6
7
8
9
C:\Tmp\Cosmito> type Fichero.vbs
Set fs = CreateObject("Scripting.FileSystemObject")
For i = 1 To 9
   'Creamos un archivo con el mÚtodo CreateTextFile
   n = "C:\Tmp\Cosmito\archivo-" & i & ".txt"
   Set Archivo = fs.CreateTextFile(n, True)
   Archivo.WriteLine "Aqui debe escribirse un tema"
   Archivo.Close
next

1
C:\Tmp\Cosmto> Fichero

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\Tmp\Cosmito> dir
06/06/2020  23:55    <DIR>          .
06/06/2020  23:55    <DIR>          ..
06/06/2020  23:55                30 archivo-1.txt
06/06/2020  23:55                30 archivo-2.txt
06/06/2020  23:55                30 archivo-3.txt
06/06/2020  23:55                30 archivo-4.txt
06/06/2020  23:55                30 archivo-5.txt
06/06/2020  23:55                30 archivo-6.txt
06/06/2020  23:55                30 archivo-7.txt
06/06/2020  23:55                30 archivo-8.txt
06/06/2020  23:55                30 archivo-9.txt
06/06/2020  23:54               289 Fichero.vbs

1
2
C:\Tmp\Cosmito> Type archivo_1.txt
Aqui debe escribirse un tema

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 07/06/2020 16:16:21
Esta muy bien Antoni, ya lo he seguido como indicas. Pero como se utilizaria para la parte de .BAT? En este caso de .BAT el ciclo FOR no se comporta para el caso de vbs. Usted me señala que los archivos .BAT se aplican en el foro MS-Dos.

Saludos y gracias por su ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

for no funciona con un .BAT

Publicado por Antoni Masana (812 intervenciones) el 07/06/2020 17:28:33
Lo mismo pero con BAT

1
2
@echo off
for %%a in (1 2 3 4 5 6 7 8 9) do echo Aqui debe escribirse un tema> "C:\Tmp\Cosmito\archivo %%a .txt"
o
1
2
3
4
@echo off
for %%a in (1 2 3 4 5 6 7 8 9) do (
    echo Aqui debe escribirse un tema>"C:\Tmp\Cosmito\archivo %%a .txt"
)

Saludos
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 07/06/2020 17:54:34
Bueno Antoni gracias por contestar y su ayuda.
Surge una preguntilla. ESta ruta C:\Tmp\Cosmito donde la encuentro para ver los archivos? Puse en acciòn su codigo, pero no veo donde los creó. Busqué y no los veo. Y disculpe mi desconocimiento.

Perdon rectifico le he colocado un pause y me arroja que el sistema no puede encontrar la ruta especificada ya entiendo debo crear esa ruta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 07/06/2020 18:20:41
Muy interesante. Ahora bien Antoni; en esta parte
1
for %%a in (1 2 3 4 5 6 7 8 9)
del codigo si se diera la casualidad de llevar los registros no a 9 sino a una cantidad mayor como se haria? ya que seria muy tedioso escribir hasta pongamos un ejemplo hasta un millon, exagerando un poco por supuesto. De repente la persona quisiera llevarlos hasta una considerable cantidad innumerable de registros. Habría alguna forma? El asunto es que en google redundan mucho en la explicacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

for no funciona con un .BAT

Publicado por Antoni Masana (812 intervenciones) el 07/06/2020 22:07:10
La ruta del ejemplo es la que he creado para hacer la prueba pero la puedes cambiar por otra.

1
2
@echo off
for %%a in (1 2 3 4 5 6 7 8 9) do echo Aqui debe escribirse un tema> "C:\Users\alejo\Desktop\archivo %%a .txt"
o
1
2
3
4
@echo off
for %%a in (1 2 3 4 5 6 7 8 9) do (
    echo Aqui debe escribirse un tema>"C:\Users\alejo\Desktop\archivo %%a .txt"
)


Supongamos que quieres crear ficheros.empezando en el 10 hasta el 98 y solo los números pares o que cuente de dos en dos.

Vamos lo que seria en Basic:

1
FOR a=10 TO 98 STEP 2


1
2
@echo off
for /L %%a in (10, 2, 98) do echo Aqui debe escribirse un tema> "C:\Users\alejo\Desktop\archivo %%a .txt"
o
1
2
3
4
@echo off
for /L %%a in (10, 2, 98) do (
    echo Aqui debe escribirse un tema>"C:\Users\alejo\Desktop\archivo %%a .txt"
)

Para más información del comando FOR desde la vrentana de comandos CMD

1
FOR /?


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 08/06/2020 17:07:47
Bueno muy agradecido por su explicación amigo Antoni, de todos modos debo practicar mas la sintáxis del for, ya que la única manera de aprender y ahondar es practicando.

Conoce algún videotutorial que lo explique?
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

for no funciona con un .BAT

Publicado por Antoni Masana (812 intervenciones) el 08/06/2020 22:18:15
Todos los comandos del BAT tienen una ayuda poniendo /?

Te pongo algunas páginas que dan información:


Busca en Google palasbras claves como Comandos - BAT - Windows saldran un monton de páginas.

De todas formas este sistema que funciona desde la versión 2.00 del MS-DOS y que con Windows se ha ampliado los comandos pero la calidad a decaído mucho. Tiene muchos fallos.

Puedes sacar más provecho a cosas como Visual Basic Script que es interpretado y mas potente, creo.
PowerShell es un interprete de comandos creo que mejor que el CMD investigalo.
Tambien tienes el PERL y el PYTHON que son más robustos y gratuitos.

Daludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 09/06/2020 22:04:57
muy interesante; gracias. Ahora esos comandos son el corazon del Sistema Operativo, y son muchas las cosas que se pueden desarrollar con ellos. O me equivoco Antoni?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

for no funciona con un .BAT

Publicado por Antoni Masana (812 intervenciones) el 09/06/2020 22:31:04
Es el corazón pero dañado.

Esto Funciona:

1
2
3
@echo off
set /A num=2*(3+5)
echo %num%

¿Crees que esto funciona?

1
2
3
4
5
@echo off
For %%a in ( 5 6 7 ) do (
   set /A num=2 * 3 + 2 * %%a
   echo %num%
)

¿Y Esto?

1
2
3
4
5
@echo off
For %%a in ( 5 6 7 ) do (
   set /A num=2 * ( 3 + %%a )
   echo %num%
)

Estos son algunos de los fallos de los BAT. Tienen soluciones alternativas pero son un nyap ( chapuza en castellano ).

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

for no funciona con un .BAT

Publicado por cosmito (7 intervenciones) el 10/06/2020 16:11:36
Ahora Otra cosa Antoni, para encontrar un empleo como informático, sería importante tener conocimiento de Ms-DOS? Algo asi como para seguridad Informática? O es muy poco relevante?

Yo desarrollo con php, css,javascritp,html, y estoy iniciandome en Ms-DOS, porque creo que uno debe conocer su computadora.

En cuál área trabaja usted? Por lo visto conoce bastante de Ms-DOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

for no funciona con un .BAT

Publicado por Antoni Masana (812 intervenciones) el 10/06/2020 16:40:49
Antes de 1995 en que salido el Windows 95 era el sistema operativo por antonomasia en PC.
Puedes tener unos conocimientos Básicos pero como nativo de Windows mejor darle un repaso al Visual Basic Script o PowerShell.
Como mejor herramienta el Python o el Perl, por lo que veo en el foro el primero es el que más se usa o el que da más dolor de cabeza.
Por lo que he oido, Microsoft quiere quitar los BAT, pero de momento aguanta pero con muchos agujeros.
Hay herramientas mucho mas robustas y con menos fallos que los BAT.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar