Crear carpeta Con documento TXT y abrir con notepad++

Soy nuevo con el tema de los Batch.
Me gustaría Crear un Bat que cree una carpeta con el nombre que quiera y dentro un documento de texto con el mismo nombre de la carpeta y que a la vez lo abra con el notepad++.

2 Respuestas

Respuesta
1

Por empezar con algo te paso un bat que hace casi todo lo que pides menos abrir el archivo recién creado con el notepad++. Lo abrirá con el programa asignado a la extensión TXT (que podría ser el notepad++ o el notepad sin más o algún otro, según esté configurado el ordenador en el que se ejecute:

@echo off
set carpeta=carpeta prueba LuisM
md d:\"%carpeta%"
echo Para que tenga algo dentro> "d:\%carpeta%\%carpeta%.txt"
d:\"%carpeta%\%carpeta%.txt"

Para empezar se asigna el nombre de la carpeta a crear a una variable (la variable CARPETA), luego se crea la carpeta en el disco D:, luego se crea el archivo con el mismo nombre que la carpeta y extensión TXT escribiendo algo en el proceso de creación. Y por último se "ejecuta" el archivo TXT lo que lleva a MSDOS a buscar el programa asignado para abrir esas extensiones y lanzarlo sobre el archivo en cuestión. Por supuesto que puedes cambiar todo lo que te parezca para ajustarlo a tus necesidades. Y si el notepad++ no es el archivo asignado a los TXT puedes lanzarlo poniendo su path y como parámetro el archivo.

No me he explicado bien. lo que quiero es ponerle yo el nombre que yo quiera cuando se ejecute el bat y luego que cree los dos archivos con el nombre que he puesto  y los abra con el editor.

Gracias.

Algo parecido a esta solución que le diste a una persona.

@echo off
Echo off
:Menu
Title Creador de texto
Echo Nombre Del Archivo
set /p carp=Como desea llamar el archivo ?
set llama=%carp%
echo Tipo archivo
set /p type=Escribe el tipo de archivo ?
set tp=%type%
Echo Texto
Echo escribe el texto .
copy con "%llama%.%tp%"
Pause
Echo 1.- Ejecutar el archivo creado
echo 2.- Salida
set /p run=Desea ejecutar el archivo ?.jsee
if %run%==1 goto Ejecutar
if %run%==2 goto Salir
:Ejecutar
Start notepad "%llama%.%tp%"
echo Volver a menu presione tecla
pause
goto menu
:Salir
msg * Adios %date%
exit

A ver si esto se ajusta más a lo que buscas:

@echo off
set /p carpeta=Escribe el path de la carpeta a crear: 
md "%carpeta%"
call :archivo "%carpeta%"
goto :eof
:archivo
echo Para que tenga algo dentro> "%~1\%~n1.txt"
"%~1\%~n1.txt"

Funciona bien lo que pasa que la pantalla cmd se queda y hasta que no cierro el documento no desaparece.

Gracias y perdona las molestias.

No es ninguna molestia, por supuesto.

Mira a ver si esto te va mejor:

@echo off
set /p carpeta=Escribe el path de la carpeta a crear:ÿ
md "%carpeta%"
call :archivo "%carpeta%"
goto :eof
:archivo
echo Para que tenga algo dentro> "%~1\%~n1.txt"
start notepad "%~1\%~n1.txt"
exit

Si se lanza con START parece que hay que "explicitar" el programa que se quiere ejecutar (creo que de esto ya hablaba en el hilo del que sacaste el texto  del bat que citas más arriba). Por tanto, si en lugar de NOTEPAD quieres que sea NOTEPAD++ tendrás que poner el path en el que esté instalado ese programa. El carácter "ÿ" que he añadido al final de la línea del SET funciona como un espacio que facilita la legibilidad y evita el problema de algunos editores de "texto plano" que suprimen los espacios a final de línea.

Funciona perfectamente, es exactamente lo que quería.

Muchísimas gracias por todo.

Pues, si te parece, cierra y califica la pregunta.

Respuesta

Solo tienes que escribir y después renombrar el archivo a .bat y ya esta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas