Programación en Batch 3º Parte.

Antes de leer esto deberías ya saber algo de Batch, tal vez te sirva leer la primera y segunda parte.
Si sigo así tendré que escribir un libro. xD

En esta tercera parte, sera básicamente de técnicas y tips. Nuestro indice sera:

  • Abrir archivos con
  • Borrar de agrandes cantidades
  • Mover o Copiar de a grandes cantidades
  • Crear listas de reproducción (Para Winamp)

Abrir Archivos Con:

Como algunos saben al hacer clic en un archivo la mayoría de las veces nos muestra la opción Abrir Con.

Este tip es especial para archivos que necesitamos abrir y no podemos ingresar a la carpeta, para archivos que no tienen la opciones de Abrir Con, y también para los que tienen computadoras lentas que al apretar esta opción demoran mucho en mostrarla.

Como hablamos en los tutoriales anteriores con la función start iniciamos procesos, por lo que por eso haremos lo siguiente.

start archivo programa.exe

o también.

start programa.exe archivo

Ambas dos funcionan igual. Lo que hacemos es elegir un programa, y un archivo de manera que el programa abrirá al archivo dado. Como un ejemplo simple, abramos la carpeta C:/WINDOWS con el explorer.

start C:/WINDOWS explorer.exe

Para algunos archivos (Los que tiene direcciones y nombres con espacios) deberemos encerrarlos en comillas.

start "C:\Carpeta con Espacios\Archivo con Espacios.txt" notepad.exe

Como en este ejemplo donde abrimos un texto con Notepad (Bloc de Notas).

De esta manera podemos abrir cualquier archivo o carpeta solo sabiendo su dirección.

Aqui una pequeña lista de programas, para que sepan sus “nombres”.

  • explorer.exe -> Explorer (El para ver las carpetas)
  • iexplorer.exe -> Internet Explorer
  • firefox.exe -> Firefox (Abrir webs con: start firefox.exe www.jestudio.cl)
  • wmplayer.exe -> Reproductor de Musica Windows Media Player
  • winamap.exe -> Reproductor de Musica Winamp player.
  • mspaint.exe -> Paint
  • cmd.exe -> Shell de comandos
  • notepad.exe -> Bloc de notas
  • photoshop.exe -> Photoshop

Entre muchos otros, para saber como se “llama” un programa podemos ver en la pestaña procesos de el administrador de tareas mientras el programa este abierto(CTRL+ALT+SUPR, o CRTL+ALT+DEL).
Además muchas veces podemos simplemente adivinar su nombre.

Borrar de Agrandes Cantidades:

A mi me a pasado muchas veces que me han quedado carpetas infectadas de archivos inútiles y he comenzado a borrarlos uno por uno. Cuando iba en la mitad me aburrí y decidí ser eficiente, asi que se me ocurrió un código para borrar.

Los archivos que yo quería borrar tenían todos la misma desconocida extensión que ya no me acuerda como era, pero supongamos que era .sfk, ¿Como aniquilarlos todos sin mover un dedo?
Pues con esta función, podemos borrar todos los archivos que tengan cierta cosa en común, pero recuerden tener extremo cuidado pues pueden llegar a borrar algo no deseado.

FOR /R %%x in (*.sfk) DO (DEL "%%x")

Como vemos tiene el formato:

FOR /R %%Variable in (ElValorEnComun) DO (AccionAEjecutar)

Donde /R significa que no solo afectara a una carpeta si no que a todas las superiores.

Si agregáramos ese código en algún Batch, al correrlo comenzara a borrar todos los archivos con la extensión sfk que hayan en directorios superiores al suyo o en el mismo. (Directorios = Carpetas)

Claramente yo quise tener cuidado, y no borrar cosas indeseadas. Por lo que antes hice esto:

FOR /R %%x in (*.sfk) DO (echo "%%x")

Es lo mismo, solo que como acción en vez de borrar los listé. Una vez verificado que no había ningún archivo que me importara ejecute el otro.

Para el “valor en comun” hay varias maneras de darlo. Son de la siguiente manera.

  • común.mp3 -> Todos los archivos con ese nombre exacto.
  • común.* -> Todos los archivos con ese nombre, sin importar la extensión.
  • común* -> Todos los archivos que comiencen en común.
  • *común.mp3 -> Todos los archivos terminados en común.mp3.
  • *.mp3 -> Todo los archivos con la extensión mp3.
  • *común* -> Todos los archivos que contengan la palabra común.
  • * -> Todos los archivos, sin importar su nombre o extensión.

Por ejemplo si ejecuto:

FOR /R %%x in (*a*) DO (DEL "%%x")

Se borraran todos los archivos que tengan una a en su nombre o extensión.

FOR /R %%x in (*) DO (DEL "%%x")

Se borraran todos los archivos existentes.

Yo mi “programa” lo deje así:

@echo off
echo Se han encontrado los siguiente sfk:
FOR /R %%x in (*.sfk) DO (echo "%%x")
echo -----------------------------------------
echo Presione una tecla si desea eliminarlos
echo De lo contrario cierre la ventana.
pause>nul
echo Estas seguro?
pause>nul
echo Pues comencemos
pause>nul
FOR /R %%x in (*.sfk) DO (DEL "%%x")
echo LISTO
pause>nul
echo adiós
pause>nul
exit

Mover o Copiar de a grandes cantidades

Como se puede ver, en el punto anterior se borran muchos archivos en común con solo una linea de codigo. Pues para copiar y mover se hace casi lo mismo.

FOR /R %%x in (*) DO (MOVE "%%x" C:\DestinoDeLosArchivos\)

En la carpeta que lo ejecutemos moverá todos los archivos a “C:\DestinoDeLosArchivos\”

FOR /R %%x in (*.txt) DO (COPY "%%x" C:\DestinoDeLosArchivos\)

En la carpeta que lo ejecutemos moverá todos los archivos con extensión .txt a “C:DestinoDeLosArchivos”.

Crear una lista de reproducción.

Como fue visto en los tutoriales anteriores, podemos crear fácilmente archivos desde batch. Pero comúnmente solo se nos ocurriría escribir otro batch o un texto.
Bueno, me di cuenta que la forma de escribir de las listas de reproducción de Winamp son extremadamente simple. Simplemente los nombres de las canciones. (Solo sirve para winamp)

Por ejemplo, si quisiéramos crear un bat que al apretarlo crea una lista de reproducción con todos los archivos de música existentes en la carpeta haríamos lo siguiente.

@echo off
echo. > lista.m3u
FOR %%x in (*.mp3) DO (
echo %%~nx.mp3 >> lista.m3u
)
start lista.m3u winamp.exe
exit

Al ejecutarlo nos crearía un lista de reproducción de nuestra carpeta y comenzaría a reproducirla.
La lista quedaría creada, si es que quieres que la lista no quede en tu pc.
agrega estas lineas antes de exit:

pause
DEL lista.m3u

Basicamente lo que hago con este codigo es crear un archivo con extensión .m3u que dentro contiene los nombres de las canciones.
%%~nx significa que nos devolverá solo el nombre de el archivo sin la dirección.

Eso es básicamente todo lo que doy a conocer hoy.
Si alguien descubre la manera de hacer el creador de Lista de Reproducción pero que sirva incluso si es que se abre en un directorio raíz le pediría que me lo haga saber, pues no lo logré. (Solo funciona para una carpeta, no funciona como todos los otros batch que hice.)

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
Autor: JaLeRu

Post Relacionados:

51 Respuestas to “Programación en Batch 3º Parte.”

  1. El_KeNnY_BPC says:

    hola… de nuevo aqui xD…
    lo unico que queria saber es en esto de los copy y move a lo grande… no explicaste bien esto del “/R” … para que sirve… y ¿¿¿como puedo hacer para mover todo pidiendo confirmacion???…

    eso byezz…
    El_KeNnY_BPC

    byezz

  2. JaLeRu says:

    (Ya lo había explicado en los tutoriales anteriores)

    /R se ocupa para que afecte a todos los archivos incluyendo los que están dentro de otras carpetas.
    Si no ocupamos /R solo se afectan los archivos que están en esa misma carpeta. Sin contar los que puedan estar en carpetas dentro de esa misma carpeta.
    ¿Muy enredado?

    Ahora si quisieras que pidiera una confirmación se usa:
    copy /-Y

    Quedando algo como así.

    FOR /R %%x in (*.txt) DO (COPY /-Y "%%x" C:\DestinoDeLosArchivos\)
  3. By_KeNnY says:

    okz… graciaa!!! te pasaste… eso queria saber…
    es que yo estaba haciendo una especie de instalador…
    y me movia todo… y keria que se moviera de carpeta por carpeta…
    y despues borrar lo de antes…
    grax!!

    xD
    By_KeNnY

  4. By_KeNnY says:

    eri entero IDOOOLOOOOO DIOOS!!!!!!!!!!! xD

    xD

  5. JaLeRu says:

    Jajaj Que bueno que te haya sido de ayuda.
    ;) Tu me motivas a escribir sobre Batch.

  6. DJ_YAX says:

    Hola!!! Está MEGA BIEN !!! Me a servido como no tienes idea para poder organizar mi música y mis videos en los playlist…

    Pero tengo una duda muy grande…

    Como hago para que al colocar una cadena dentro de una variable, con el resultado especifico de ciertos caracteres se dirija hacia cierta etiqueta?…

    Ya dentro de cada etiqueta ya se como hacer para que busque en mis discos duros y me mueva las canciones y de hecho gracias a ti ya se como hacer una playlist… GRACIAS!!!

    Ejemplo… Quiero que al teclear yo

    @echo off
    Prompt $
    cls
    echo Scanea el Producto…
    set /P artista=
    echo.
    echo.
    echo Artista %serie%
    echo.
    echo.
    %serie:~3,3%

    pause

    If %serie%==rod goto rod
    If %serie%==met goto met
    If %serie%==inx goto inx

    :nel
    cls
    echo.
    echo.
    echo.
    echo. Nel… No es ninguno de los anteriores…
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    echo. Presione cualquier tecla para continar… (bueno salir sin cerrar)
    pause>null
    exit /b

    Y es que Windows será todo lo que quieran pero como hice mis primeros pasos en MS-DOS 5.0 pues, no quiero olvidar y lo AMPLIO que son los batch, son desde principiantes hasta expertos.

    Gracias desde YA…

    Un abrazo y FELICIDADES!!! Es de una gran ayuda este Tuto.

  7. JaLeRu says:

    Hola. Mira como vimos en el primer tutorial para hacer que una variable contenga un dato ingresado por el usuario se usa:

    set /p NombreVariable= 

    Por lo tanto si queremos que por ejemplo que el usuario ingrese el nombre de un artista y este se guarde en la variable abuscar usamos:

    echo Ingrese el nombre del artista:
    set /p abuscar=

    O como lo que tu quieres, luego haces un if.

    if %abuscar% == rod goto :rod

    Ojala te sea de ayuda.
    Hize un nuevo tuto donde sale como hacer las lista de reproduccion tambien para WINDOWS media. por si te sirve.
    Suerte ;D

  8. El_KeNnY_BPC says:

    Sabes… no se si sera de este tuto… pero queria saber como se puede hacer para abrir un batch desde un batch… ni yo entiendo lo que dije xD… te explico

    yo hago un batch:

    Echo off
    title abrir batch desdemi batch
    cls
    echo off>bat1.bat
    cls>bat1.bat
    pause>bat1.bat
    FOR /R %%x in (bat1.bat) DO (MOVE “%%x” C:\bat1\)
    (quiero abrir el “bat1.bat”)… como lo hago???

    desde antemano graxx por todas las ayudas que me has dado… y te dare una pequeña ayuda si es que no lo has visto en otro lado

    attrib +h %0

    sirve para que el batch se oculto y no se pueda ver

    attrib -h %0

    sirve para que el batch no se oculte y se vea

    eso graxx… xD

    El_KeNnY_BPC

  9. DJ_YAX says:

    JaReLu…

    Muchas gracias por el apoyo, sinceramente.

    Solo que la verdad ahora que estoy releyendo lo que escribí, jaja, me fijé que no fuí especifico.

    Como puedo buscar una etiqueta dentro del mismo batch o de otro batch (externo) después de extraer ciertos caracteres de una variable que yo hubiera asignado?…

    Ejemplo…

    :inicio
    echo. Dame los datos…
    set /P datos=

    %datos:~1,4%

    Quiero extraer del 2do al 5to caracter y con el resultado buscar una etiqueta dentro del mismo bat o buscar una etiqueta dentro de otro o en su defecto que el resultado me lo guarde dentro de otra variable.

    PERO NO QUIERE!!!

    Lo que sucede es que con este comando %datos:~1,4%, lo que hace es que lo ejecuta en pantalla, pero aunque le diga yo…

    goto :%datos%

    No va a la etiqueta, donde el primer caracter sera ignorado, lo que puedo hacer es crear archivos bat para que se ejecuten con el resutado de la pantalla, solo que no quiero tener un reguero de bat, solo espero tener 1, 2 o 3 cuando mucho.

    Será posible hacerlo?… Para mi es un reto y ya se me hizo obsesión desde que ví tu manual.

    Te agradezco mucho y que rapidez en las respuestas!!!!

    Muchas Gracias.

  10. DJ_YAX says:

    El_KeNnY_BPC…

    Para tu Batch, sería así…

    Recuerda que cuando usas 1 solo “>” lo que haras es que estaras borrando tu archivo detino y la primer linea será reemplazada cada vez, pero para que se este adicionando secuencialmente de linea en linea usas el “>>” prueba con estas modificaciones que le hice a tu BAT y veràs la diferencia, incluso juega poniendole un “>” o dos “>>”

    @Echo off
    title abrir batch desdemi batch
    cls
    echo off>bat1.bat
    cls>>bat1.bat
    pause>>bat1.bat
    FOR /R %%x in (bat1.bat) DO (MOVE “%%x” C:\bat1\)

    CALL bat1.bat

    rem con call manda llamar a tu bat
    rem si quieres cerrar tu primer bat y quedarte en bat1.bat solo rem quitale el call

    El_KeNnY_BPC

    JaReLu, espero no haber importunado, si fue así discúlpame por favor.

  11. JaLeRu says:

    Dj_Yax
    usa

    set datos=%datos:~1,4%

    para que la variable quede grabada.

  12. JaLeRu says:

    El_KeNnY no entiendo muy bien lo que quieres lograr, pero puedes hacer algo asi:

    @echo off
    title Abrir Batch desde Batch
    echo @echo off>bat1.bat
    echo pause>>bat1.bat
    start bat1.bat
    

    PD: Recuerda que al poner el signo @ adelante de una linea eliminamos el Echo. Por lo que al momento de escirbir echo off debemos poner un @ para que este comando tampoco deje un echo. Asi evitas escribir
    echo off
    cls

  13. DJ_YAX says:

    ESO!!!

    Eso es lo que queria!!!

    En verdad que se me fueron las ideas porque la logica parece sencilla, pero a veces es taaaan complicada!!!

    MUCHAS GRACIAS GENIO!!!!

  14. jairo says:

    hola soy nuevo.

    he visto cada uno de los tutoriales y queria hacer un par de preguntas .

    como hago para averiguar la fecha del sistema ..
    se que la puedo cambiar con el comando date . pero quiero almacenarla en una variable para utilizarla.

    otra cosa es posible cambiar la fecha de crecion de un archivo

  15. El_KeNnY_BPC says:

    mmm… Muchas gracias pero… no es por ser malo pero… no keria eso :(

    Pero quizas funcione… la cosa… es esta:

    @echo off
    title Abrir Batch desde Batch
    echo @echo off>bat1.bat
    echo pause>>bat1.bat
    * start bat1.bat

    La que marque con “*”… abres el bat con nada?…

    y otra cosa… el bat que empeze si estaba en “Mis documentos”… para abrir ese bat con tus comandos tendria que ser como el siguiente

    @echo off
    title Abrir Batch desde Batch
    echo @echo off>bat1.bat
    echo pause>>bat1.bat
    start “C:\bat1.bat” “???”

    el “”???”" no entiendo como lo haces…

  16. El_KeNnY_BPC says:

    mmm… Muchas gracias pero… no es por ser malo pero… no keria eso :(

    Pero quizas funcione… la cosa… es esta:

    @echo off
    title Abrir Batch desde Batch
    echo @echo off>bat1.bat
    echo pause>>bat1.bat
    * start bat1.bat

    La que marque con “*”… abres el bat con nada?…

    y otra cosa… el bat que empeze si estaba en “Mis documentos”… para abrir ese bat con tus comandos tendria que ser como el siguiente

    @echo off
    title Abrir Batch desde Batch
    echo @echo off>bat1.bat
    echo pause>>bat1.bat
    start “C:\bat1.bat” “???”

    el “”???”" no entiendo como lo haces…

    Y gracias DJ_YAX!

  17. El_KeNnY_BPC says:

    jairo June 17th, 2008 4:18 pm
    hola soy nuevo.

    he visto cada uno de los tutoriales y queria hacer un par de preguntas .

    como hago para averiguar la fecha del sistema ..
    se que la puedo cambiar con el comando date . pero quiero almacenarla en una variable para utilizarla.

    otra cosa es posible cambiar la fecha de crecion de un archivo

    Oka… Es lo sgte.

    date /t

    Perdona si te resto las respuesta JaLeRu… pero es mas rapido y te conviene a ti porque tienes que hacer menos cosas xD!

    Bueno adios!!!

    Y sigue asi… y podras hacer cualquier cosa!…

  18. NEWBIE says:

    una consulta!!! a la hora de borrar con batchs es posible agregar ciertas restricciones ???? por ejemplo: si quiero depurar la carpeta c: para q no sean tocados los archivos de programas o del sistema-…

    gracias de antemano..

  19. SERVIMUNDO says:

    Crear una lista de reproducción.

    dir c:/b/s>LISTA.m3u

    start lista.m3u winamp.exe
    exit

  20. NEWBIE says:

    una consulta!!! a la hora de borrar con batchs es posible agregar ciertas restricciones ???? por ejemplo: si quiero depurar la carpeta c: para q no sean tocados los archivos de programas o del sistema o algunas carpetas q no kiero borrar-…

    gracias de antemano..

  21. JaLeRu says:

    Talvez con un IF
    Ya hable de ello.. en mi segundo tutorial. (Creo) XD

  22. NEWBIE says:

    jajaja te contare q me borre todos los archivos .doc de mi amigo!!! xD como especifico una ruta predeterminada ??

    gracias.. ;)

  23. JaLeRu says:

    no es chistoso. No deberías hacer cosas así en computadores que no son tuyos.
    Si vas a borrar archivos que sean los tuyos. ¿Te gustaria que te borrar a ti todos tus archivos?

  24. cesar says:

    Hola amigo una consulta %%x llamar al nombre de un archivo más su extension más su ruta completa y %%~nx llama solamente al nombre de archivo ¿hay alguna forma de llamar a la ruta completa mas el nombre de archivo? osea que no devuelva la extension. Un saludo y gracias por la ayuda brindada

  25. cesar says:

    Hola soy yo nuevamente lei tu tutorial seccion 4 y ya encontre la respuesta muchas gracias aunque no se si lo hize de forma algo indirecta, lo hize asi: %%~dx%%~px1%%~nx un saludo y gracias nuevamente

  26. claudia says:

    Hola, saludos, necesito copiar solo un listado de archivos y no todo el contenido de la carpeta, podría decirle que copie solo los que se encuentran en un .txt ?? como hago esto ??

  27. JaLeRu says:

    No sabría muy bien como ayudarte.
    Pero talvez si lees la primera y segunda parte del tutorial se te de una idea.

  28. JULIO says:

    HOLA CHICOS TENGOQ UE HACER UNA LISTA QEU EFECTUE PING A 50 IP DE UNA LISTA.TX Y ME DIGA QUE PING ESTA VIVO
    TENGO PARTE DEL TEMA PERO AUNO NO SE COMO HACERLE UN FOR A ESTO, CLARO LA LISTAIP1 CONTIENE LAS 50 DIRECCIONES, ME PUEDEN AYUDAR?

    FOR %%i IN (LISTAIP1.TXT) do

    @ping %%i -n 1 > nul
    @IF ERRORLEVEL 1 GOTO dead
    @IF ERRORLEVEL 0 GOTO alive

    :dead
    @ECHO %%i Dead
    @GOTO end

    :alive
    @ECHO %%i Alive
    @GOTO end

    :end

  29. antonio says:

    mirando el tutorial quise hacer una prueba, introduje

    FOR /R %%x (*.jpg)DO (echo “%%x”)

    deberia mostrarme todos los archivos . jpg ¿no?
    pues me dice que “no se esperaba %%x en este momento
    ¿me explican cual es el error?

  30. antonio says:

    a y haz todos los tutoriales q puedas ¿ok? los estoy siguiendo uno a uno

  31. JaLeRu says:

    El problema esta en que, estas funciones solo sirven si las ejecutas desde un archivo.
    Osea escribes FOR /R %%x (*.jpg)DO (echo “%%x”)
    en un archivo con extencion “.bat”
    y luego lo ejecutas.
    No se realmente la razón por la cual no funcione hacerlo de manera directa.

  32. antonio says:

    ¿hay algun metodo para enviar mensajes a tus compañeros de red?
    intente usar un net send pero no me funciona

    me vendria muy bien saberlo . GRACIAS!

  33. antonio says:

    a otra pregunta, ¿hay algun metodo para probar los archivos bat recividos y ver asi si son maliciosos?

  34. JaLeRu says:

    Puedes abrir el archivo de manera “Editable”
    Osea, click derecho -> Editar.
    Y así, puedes ver el código y ver si te párese malicioso o no.

  35. Macas says:

    Hola, he estado viendo tu manual, pero tengo una pequeña duda.

    Yo quiero abrir internet explorer, y que se me abran varias páginas web en pestañas, es decir, abrir varias webs en una sóla ventana de IE, y que se pongan en pestañas.

    He probado esto:

    @echo off
    start “explorer” “C:\WINDOWS\ie7\iexplore.exe” http://www.hotmail.com
    start “explorer” “C:\WINDOWS\ie7\iexplore.exe” http://www.google.es

    Pero obviamente me abre más de una ventana de IE en la barra de tareas, y quiero que sólo me abra una con varias páginas.

    No se si me he explicado.

    Gracias !

    Saludos.

  36. JaLeRu says:

    ¿haz probado con lo siguiente?

    start “explorer” “C:\WINDOWS\ie7\iexplore.exe” http://www.jestudio.com http://www.google.cl
  37. JaLeRu says:

    Lo e probado con Firefox. Y me funciona PERFECTO así:

    start firefox.exe http://www.jestudio.cl http://www.google.cl
    
  38. flony says:

    hola tengo dos discos c y d y cuando inicio cdm siempre sale C:\Document and Setting\Administrador\Escritorio y bue yo tengo un programa que quiero ejecutar pero esta ubicado en el D:\ como hago para que ejecute con el comando start pero en

  39. Cesar says:

    Hola quisiera saber si alguien me ayuda con lo siguiente. Un batch que busque en un archivo texto cierta cadena y lo genere cada día pero la cadena a buscar seria la fecha corriente HOY y esa cambia cada dia y con esa fecha generara el archivo que esta salvando

    @echo off
    variable: la fecha de hoy
    find “variable” texto.txt > variable.txt

    Saludos y gracias.

  40. felix says:

    muy bonito todo me ha encantado queria agradecer el tutorial ,
    tambien tengo una consulta queria hacer de equipo a equipo o entre equipos , sea un envio de datos y mensajes en tiempo real sin confirmacion y creando log de sucesos de envios con un programa hecho en cmd ya que es mas rapido y menos engorroso y no se como empezar alguien me ayuda el problema como veis tiene 10 de nota al que lo resuelva

  41. Guillermo says:

    Hola, exelente apoyo y material,mi consulta quisiera poder crear un bath para copiar archivos que tiene doble extension la ultima es (.TXT) a otra carpeta pero sin esta segunda extension.
    La idea es que tome todo lo que hay en una carpeta con doble extension y lo traspasea otra sin esa extension.-

    gracias.-

  42. Juan Pablo says:

    Hola Jaleru, como estas?
    Tengo un problema con un bat. Estoy intentando eliminar todos los archivos de extensión lnk (accesos directos) que en el target contengan la palabra “rica”, en todos los directorios y subdirectorios.
    Lo intenté, pero el problema es que si el nombre del archivo tiene espacios me da problema.
    Ej: Si hola.lnk tiene en su target rica, lo borra. Si hola 2.lnk tiene en su target rica, toma hola como una carpeta y me da error.

    Aquí el código:

    @echo off
    for /f %%a in (‘findstr /M /I /S /C:”rica” *.lnk’) do (
    echo Borrando %%a
    del %%a
    echo Shortcut borrado
    pause
    )

    :fin

    ¿Podrías por favor ayudarme con esto?
    Gracias!

  43. Jose Jesys says:

    amigo, tengo un gran gran problema, trato de crear un programa, que cree valga la redundancia, paginas webs html, de manera sencilla partiendo de una plantilla txt. lo logre en visual basic, pero me propuse a pasarlo a bath para mayor sencilles y ser mas ligero, y mi problema es ke, no entiendo el porke, todo va bien, hasta ke programo la siguiente linea
    (
    type data/plantilla1.txt>%Nombre%.html
    )
    mi problema es que, antes ahi una serie de variables %%title %%post_title %%post_c. %%sidebar,
    y nose porke el archivo no las lee. osea, me ice que la sintax del comand es incorrecto .. podrias darme una solucion ^^ gracias

    explico mas, el programa funciona de una manera sencilla, simplemente una plantialla txt con variables en el titulo post etc, que en teoriadeverian de ser llenadas por la persona que haga uso del programa, por ejemplo,

    @echo inrodusca el titulo
    set/p title=

    y en el html deve de salir

    %title%

    entonces mi problema final es que secrea el archivo index.html pero aparece vacio y dice que el sintax es incorrecto.. podrias ayudarme?

  44. JaLeRu says:

    Cuando ocupes caracteres extraños en Batch, ten cuidado por que muchas veces pueden significar otra cosa. Por ejemplo el signo
    > significa “escritura” o “salida” por lo que si escribes algo como
    “” te da un error. Para solucionarlo anticipa el signo ^ a los signos que creas que pueden estar dándote problema.

  45. diego says:

    hola disculpen espero que me puedan ayudar..
    ya que actualmente necesito un .bat que me cuente cuantos archivos tiene una carpeta y lo almacene en una variable para despues contruir una sentencia que me diga que si estan completos haga una accion..
    soy nuevo en esto pero una idea que eh creado es esta pero no me hace nada….
    les agradeceria su apoyo…

    rem c es la variable que suma el contador
    set c=0
    FOR /R %%x in (*SANTAND*.*) DO (%c==%c+1)
    goto x

    :x
    if %%c==14 echo los archivos estan completos
    echo %%x archivos almacenados
    goto s

  46. JaLeRu says:

    Diego, sobre tu duda. Es exactamente lo que toda mi vida he tratado y no he podido. xD Nunca he podido crear una variable dentro de un FOR, y que esta sea Global. Ni tampoco modificar una variable global desde un for. :S

  47. E2 says:

    Estimad@ (s):
    Quizás sea algo trivial de hacer, pero hace un buen tiempo estoy tratando de hacer en office (Excel Z:\Master.xls) una rutina en visual basic que me permita abrir un archivo por ejemplo Z:\File.pdf el cual está ubicado en una carpeta de la siguiente forma “Z:\Folder\File.pdf” ¿Me podría(n) ayudar en este ejercicio que quizás sea sumamente trivial?

    Gracias,
    el E2.-

  48. el_kenny_bpc says:

    una consulta.. bueno.. hola nuevamente desde hace haarto tieempo…
    pues la consulta…

    como crear una carpeta??

    ejemplo… quiero copiar archivos mp3 a una carpeta llamada mp3′s movidos :P

    title movedor automatico
    echo off
    cls
    goto :inicio
    :inicio
    title movedor automatico
    cls
    set /p var=que tipo de archivo quieres mover?:
    if %var%==mp3 goto :%var%
    if %var% GTR 3 goto :error
    :mp3
    title moviendo mp3

    FOR /R %%x in (*) DO (MOVE “*.mp3″ “C:\%var%’s Movidos\”)
    pause

    en el espacio que falta tiene que ir un comando para crear la carpeta especifica ya que no la crea solo…

    seria una muy gran ayuda broki…
    cuidate y ojalas respondas temprano ;)

  49. JaLeRu says:

    Kenny, usando la función MD creas directorios para más información sobre esta funciones puedes ir a:
    Inicio->Ejecutar-> “CMD” y escribes luego en la pantalla negra md /?

    Mucha suerte!

Deja un comentario


JaLeRu Blog vive gracias a WordPress
Entradas RSS y Comentarios RSS.