내 bat 파일을 Powershell로 변환하려고 합니다.

내 bat 파일을 Powershell로 변환하려고 합니다.

Powershell로 변환하려는 배치 파일이 아래에 2개 있습니다.

파일 확장자와 연결된 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

나는 지금 이것을 테스트하기 위해 PC 앞에 있지 않지만 파일 확장자를 다음을 실행하는 박쥐에 연결할 수는 없습니까?

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

저는 PowerShell로 전환하는 데 찬성하지만 처음에는 배치 파일이 더 빨라질 것입니다. 제가 올바르게 기억한다면 알려진 파일 형식(예: accdb 파일)을 "start" 명령에 전달하면 무엇을 해야 할지 알아낼 수 있습니다. (예: Access)로 열고 스크립트의 다음 줄로 계속 진행합니다("/wait"를 전달하지 않는 한). 스크립트에 다음 줄이 없기 때문에 스크립트와 해당 창은 그냥 사라질 것입니다.

나는 창의적인 레지스트리 편집을 통해 배치를 모두 제거할 수 있다고 생각합니다. 하지만 저는 지금 그것을 테스트하기 위해 PC에 있지 않으며 사람들이 내 기억에 있는 테스트되지 않은 간단한 정보만으로 레지스트리를 조작하는 것을 원하지 않습니다.

관련 정보