Buscando convertir mi archivo bat a Powershell

Buscando convertir mi archivo bat a Powershell

Tengo los 2 archivos por lotes a continuación que quiero convertir a Powershell.

Tengo bat1.bat asociado con una extensión de archivo, por lo que cuando hago doble clic en esa extensión, se ejecuta bat1.bat y el primer parámetro es el nombre del archivo en el que se hizo doble clic.

¿Por qué utilizar 2 archivos bat? Bueno, si solo uso bat2, aparece una ventana de comando abierta y visible hasta que se sale del programa final. Al usar los 2 archivos por lotes anteriores, solo obtengo un ícono en la barra de tareas (del cual quiero deshacerme). Lo que me lleva a la razón por la que quiero convertirme a Powershell. Quiero poder hacer doble clic en uno de los archivos y que PS abra el programa Access y no tenga ningún ícono ni indicación visual alguna. Entonces parece que mi programa Access es el programa que maneja archivos con esa extensión.

bat1.bat

@echo off
@START /MIN c:\temp\bat2.bat %1
exit

bat2.bat

@echo off
"c:\temp\Test.accdb" /cmd %1
exit

Respuesta1

No estoy frente a una PC para probar esto en este momento, pero ¿no podrías simplemente asociar la extensión del archivo a un bat que ejecute lo siguiente?

@start "Access wrapper" "c:\temp\Test.accdb" /cmd %1

Estoy totalmente a favor de cambiar a PowerShell, pero su archivo por lotes será más rápido inicialmente y, si no recuerdo mal, puede pasar un tipo de archivo conocido (como su archivo accdb) al comando "iniciar" y descubrirá qué hacer. ábralo con (es decir, Access) y luego continúe con la siguiente línea del script (a menos que pase "/wait"). Como no habría una línea siguiente en el script, el script y su ventana simplemente desaparecerían.

Creo que probablemente se podría eliminar el lote por completo con algunas ediciones creativas del registro, pero no estoy en una PC en este momento para probarlo y no quiero que la gente modifique el registro solo con fragmentos no probados en mi memoria.

información relacionada