windows - para - ejecutar archivo bat automaticamente
Archivo BAT para abrir CMD en el directorio actual (16)
Tengo muchos scripts con los que interactúo desde la línea de comandos. Cada vez que necesito usarlos, tengo que abrir una ventana de línea de comandos y copiar + pegar y CD en la ruta al directorio en el que se encuentran. Esto es tedioso (están en un sistema de archivos bastante profundo, por lo que escriben la ruta completa es un dolor, copiar + pegar es mejor, pero no mucho). Intenté crear un archivo .BAT en el que pudiera hacer doble clic para abrir una nueva ventana de línea de comandos en la carpeta en la que existe el archivo .bat, pero no funciona. Abre una nueva ventana, pero el directorio de trabajo no es el directorio en el que se encuentra el archivo .bat. Esto es lo que tengo después de mucho googlear (Mis habilidades de cmd no son tan buenas):
cd %CD%
cmd.exe
Sé desde cuando usé Linux que Konqueror tenía una función de "Ventana de línea de comandos aquí", y ese es el efecto que trato de obtener en Windows.
Como solución más general, es posible que desee consultar el Microsoft Power Toy para XP que agrega la opción "Abrir ventana de comandos aquí" cuando hace clic derecho: http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
En Vista y Windows 7, obtendrá esa opción si mantiene presionada la tecla Mayús y hace clic derecho (esto está integrado).
Crea un archivo llamado open_dos_here.cmd
con las siguientes líneas:
%~d1
cd "%~p1"
call cmd
Pon este archivo en cualquier carpeta. Luego, vaya a su carpeta Enviar a ( Win + E ; Alt + D ; shell:sendto
; Enter ). Crea un atajo para apuntar a este open_dos_here.cmd
Luego, en cualquier carpeta, seleccione cualquier archivo o subcarpeta. Haga clic derecho y seleccione "Enviar a" y luego seleccione open_dos_here.cmd
para abrir el DOS en esa carpeta.
Crea un nuevo archivo startCmdLine.bat en tu directorio y pon esta línea en él
call cmd
Eso es. Ahora haz doble clic en el archivo .bat. Esto funciona para mi.
Puede reemplazar la llamada con inicio, también funcionará.
El comando más simple para hacer esto:
start
Siempre puede ejecutar esto en la línea de comando para abrir una nueva ventana de línea de comandos en la misma ubicación. O puede colocarlo en su archivo .bat.
Estoy pensando que si está creando una secuencia de comandos por lotes que se basa en que el Directorio actual se establece en la carpeta que contiene el archivo por lotes, se está creando un problema cuando intente ejecutar el archivo por lotes utilizando una ruta totalmente calificada como lo haría de un programador.
Es mejor agregar esta línea a su archivo por lotes también:
REM Change Current Directory to the location of this batch file
CD /D %~dp0
a menos que califiques por completo todos tus caminos.
Hay una manera más simple
start /d "folder path"
La forma más simple en el explorador es presionar Shift + clic derecho del mouse sobre la carpeta o sobre un espacio vacío en la carpeta y hacer clic en Open command prompt here
.
CMD luego comenzará en esa carpeta
Debo decir que no estoy seguro si funciona para Windows Vista y abajo, pero seguramente funciona para Windows 7, 8, 8.1 y 10.
Otra solución es usar un archivo de acceso directo a cmd.exe en lugar de un archivo por lotes.
Edite el inicio del atajo en propiedad a % ~ dp0 .
Logras lo mismo, excepto que tiene el icono Cmd (y puedes cambiar esto).
A algunas personas no les gusta hacer clic en los archivos por lotes sin saber qué hay en ellas, y algunas unidades de red corporativas tienen una prohibición de los archivos .bat ...
Probablemente quieras hacer esto:
cd /d %~dp0
cmd.exe
esto establecerá su directorio actual en el directorio donde tiene el archivo por lotes en
Puede agregar una entrada del menú de contexto a través del registro:
Navegue en su Registro a
HKEY_LOCAL_MACHINE/Software/Classes/Folder/Shell
y cree una clave llamada "Símbolo del sistema" sin las comillas.Establezca la cadena predeterminada para cualquier texto que desee que aparezca en el menú contextual.
Cree una nueva clave dentro de su símbolo del sistema recién creado llamado "comando" y configure la cadena predeterminada para
cmd.exe /k pushd %1
Es posible que necesite agregar %SystemRoot%/system32/
antes del cmd.exe si no se puede encontrar el ejecutable.
- Los cambios deben tener lugar de inmediato. Haga clic derecho en una carpeta y su nuevo elemento de menú debería aparecer.
También vea http://www.petri.co.il/add_command_prompt_here_shortcut_to_windows_explorer.htm
Puede ser una pequeña búsqueda, pero para los que como yo busquen en Google, puedes mantener presionada la tecla Mayús y hacer clic con el botón derecho en la carpeta. De esta forma, el menú de contenido mostrará aquí la ventana de comandos abiertos.
Refiriéndose a la respuesta de @Chris,
También podemos ir al directorio padre del archivo por lotes y ejecutar comandos usando los siguientes
cd /d %~dp0..
<OTHER_BATCH_COMMANDS>
cmd.exe
Para comprender el funcionamiento del comando cd /d %~dp0..
consulte el siguiente enlace
Simplemente puede ingresar cmd
en la barra de direcciones en Explorer y se inicia en esa ruta. Del mismo modo para PowerShell.
Un poco tarde para el juego, pero si entiendo tus necesidades correctamente, esto ayudará a las personas con el mismo problema.
Dos soluciones con el mismo primer paso: Primero vaya a la ubicación en la que guarda sus scripts y copie la ruta del archivo a ese directorio.
Primera solución:
- Haga clic en "Comenzar"
- Haga clic con el botón derecho en "Computadora" (o "Mi PC")
- Haga clic en "Propiedades"
- A la izquierda, haga clic en "Configuración avanzada del sistema"
- Haga clic en "Variables de entorno"
- En el cuadro "Variables del sistema", desplácese hacia abajo y seleccione "RUTA"
- Haga clic en "Editar"
- En el campo "Valor variable", desplácese hacia la derecha
- Si aún no hay un punto y coma (;) allí, agrégalo.
- Pegue en la ruta de archivo que copió anteriormente.
- Termine con un punto y coma.
- Haga clic en Aceptar"
- Haga clic en "Aceptar" nuevamente
- Haga clic en "Aceptar" una última vez
Ahora puede usar cualquiera de sus scripts como si ya estuviera en esa carpeta.
Segunda solución: (puede combinarse fácilmente con el primero para una utilidad adicional)
En su escritorio, cree un archivo por lotes con el siguiente contenido.
@echo off
cmd /k cd "C:/your/file/path"
Esto abrirá una ventana de comando como lo que trataste de hacer.
Para obtener toneladas de información sobre los comandos de Windows, consulte aquí: http://ss64.com/nt/
este código funciona para mí, cmd.bat
@echo off
title This is Only A Test
echo.
:Loop
set /p the="%cd%"
%the%
echo.
goto loop
puedes probar:
shift + clic derecho
a continuación, haga clic en Abrir indicador de comando aquí