-2

У меня есть 2 пакетных файла ниже, которые я хочу преобразовать в Powershell.

У меня есть bat1.bat, связанный с расширением файла, поэтому, когда я дважды щелкаю по этому расширению, выполняется bat1.bat, а первый параметр - это имя файла, которое было дважды щелкнуто

Зачем использовать файлы 2 bat? Хорошо, если я просто использую bat2, я получаю окно командной строки открытым и видимым до тех пор, пока не выйдет финальная программа. Используя вышеупомянутые 2 пакетных файла, я получаю только значок на панели задач (от которого я хочу избавиться). Что подводит меня к тому, почему я хочу перейти на Powershell. Я хочу иметь возможность дважды щелкнуть по одному из файлов, чтобы PS открыла программу Access и у меня не было значка или какой-либо визуальной индикации вообще. Так что может показаться, что моя программа Access - это программа, которая обрабатывает файлы с таким расширением.

Bat1.bat

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

Bat2.bat

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

1 ответ1

0

Я не нахожусь перед компьютером, чтобы проверить это прямо сейчас, но не могли бы вы просто связать расширение файла с битой, которая запускает следующее?

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

Я полностью за переход на PowerShell, но ваш пакетный файл изначально будет быстрее, и, если я правильно вспомню, вы можете передать известный тип файла (например, файл accdb) команде "start", и он выяснит, что открыть его с помощью (т.е. Access), а затем перейдите к следующей строке в скрипте (если вы не передадите «/wait»). Поскольку в сценарии не будет следующей строки, сценарий и его окно просто исчезнут.

Я думаю, что вы могли бы удалить пакет вместе с некоторыми творческими изменениями реестра, но я сейчас не за компьютером, чтобы проверить это, и я не хочу, чтобы люди возились с реестром только из непроверенных лакомых кусочков в моей памяти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .