2009-07-08 14 views
9

Agregué un archivo por lotes (.bat) a mi proyecto. Quiero agregar un nuevo editor para los archivos por lotes que realmente ejecutarían este archivo por lotes en la ventana del símbolo del sistema.Agregar editores en Visual Studio "Abrir con ..." cuadro de diálogo

Lo que hice, pero no me acuerdo de mi editor de :

  1. clic derecho en mi archivo .bat
  2. seleccionada Abrir con ...
  3. Seguido Añadir
  4. Establezca el programa como "cmd/c" y algún nombre descriptivo
  5. Se ha aceptado este cuadro de diálogo.
  6. Aparece una nueva ventana que me dice que no puede validar ruta editor (debido al parámetro additinoal, porque si lo quito, funciona)
  7. Mi nuevo editor de está en la ventana.

Al abrir el mismo Abrir con ... de diálogo nuevo, mi editor de no está presente.

¿Cómo debo abordar esto?

Respuesta

9

Ok. Pude resolver esto yo mismo.
Como yo found on the internet esto es un error de Visual Studio, por lo que no recuerda este tipo de editores (nombres de archivos ejecutables parametrizados). Pero no obstante. La solución es la siguiente:

  1. Crear un archivo por lotes separados, es decir ExecuteBatch.cmd
  2. poner este código en él:

    @cmd /c %1

  3. Luego se agrega el nuevo editor en Visual Studio apuntando a este archivo ExecuteBatch.cmd.

Voila. Problema resuelto. Las instrucciones detalladas se pueden encontrar in this blog post.

+0

Muchas gracias; eso parece hacerlo (Con la molesta condición de que debe volver a agregarse para cada tipo de archivo que desee editar). Para la última versión de Emacs, mi archivo .cmd contiene: '@" C: \ Archivos de programa \ emacs-24.2 \ bin \ emacsclientw.exe "-na" C: \ Archivos de programa \ emacs-24.2 \ bin \ runemacs.exe "% 1' –

+1

Oh. También puedo verificar que VS2012 (o al menos el RC que he visto) haya solucionado este error. –

2

Según el consejo here también puede usar "Abrir con" PowerShell, y no tiene que preocuparse por ningún parámetro.

Las instrucciones de ese enlace son:

Puede ejecutar .bat archivos desde el explorador de soluciones directamente por asociar el comportamiento predeterminado de extensiones “.BAT” a ​​Powershell.

  1. Haga clic derecho en el archivo por lotes en el Explorador de soluciones
  2. Seleccione “Abrir con ...” en el menú contextual
  3. Haga clic en “Añadir ...”
  4. En el “Nombre del programa” cuadro de texto, especifique el pleno camino de PowerShell (“\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe”)
  5. En el cuadro de texto “nombre descriptivo” enter “PowerShell”
  6. seleccione “Establecer como predeterminado”
  7. Haga clic en OK

Ahora cuando se hace doble clic en el archivo por lotes en el explorador de soluciones, se desembolsar a PowerShell y ejecutar.

Trabaja para mí.

0

Acabo de decirle a Visual Studio para abrir el archivo .bat con el Explorador de Windows;)

Add Program dialog - explorer.exe

1

sugerencia adicional: en VS2012 sólo puede utilizar cmd.exe.

¡Pero! El inconveniente es que su archivo bat se iniciará en la carpeta de inicio VS, no en la carpeta de su alma gemela. Es por eso que usé this recipe, pero lo extendí un poco. Mi archivo .bat es:

:: Navigate to file's folder 
@cd %~dp1 

:: Run file in its folder 
@cmd /c %~n1%~x1 

sintaxis es explicado here

2

Ampliando las respuestas de Robert y Rustam, aquí está el guión RunBatch.bat que utilizo como el programa "Abrir con" para el funcionamiento por lotes archivos de Visual Studio:

@cd %~dp1 
@call "%~n1%~x1" 

La primera línea se desplaza a la carpeta del archivo y la segunda línea ejecuta el archivo.

Esto conserva el directorio de trabajo en Visual Studio 2012 y versiones posteriores, y también admite archivos por lotes que tienen espacios en el nombre del archivo.

Cuestiones relacionadas