====== Windows Batch File ====== * [[http://weblogs.asp.net/whaggard/archive/2005/01/28/get-directory-path-of-an-executing-batch-file.aspx|실행중인 bat 파일이 존재하는 디렉토리로 이동하기(디스크까지)]] : ''cd /d %~dp0'' ===== batch 파일 안에서 다른 batch 파일 호출 ===== * batch 파일 안에서 다른 배치파일을 그냥 실행하면 현재 배치파일의 나머지 부분은 실행이 안된다. * ''call 다른배치파일 옵션'' 형태로 호출해야 한다. ===== 관리자 권한으로 실행 ===== * 배치파일의 바로가기(lnk)를 만들어서 바로가기의 속성으로 관리자 권한으로 실행하기를 지정해도 됨. * 배치 파일 자체에서 관리자 권한이 아니면 권한 허가 요청을 띄우게 할 수도 있음 @echo off REM 관리자 권한이 없으면 자기 자신을 다시 관리자 권한으로 실행 net session >nul 2>&1 if %errorlevel% neq 0 ( powershell -Command "Start-Process '%~f0' -Verb RunAs" exit /b ) REM === 여기부터 관리자 권한으로 실행할 명령어 === echo 관리자 권한으로 실행 중입니다. pause ===== 명령창 없이 batch 파일 실행 ===== * [[http://answers.yahoo.com/question/index?qid=20071011212557AAofTy6|How to run a Batch Script in Background?]] * ''batchrun.vbs'' Set WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("test.bat", 0) set WshShell = Nothing * "test.bat"을 원하는 파일로 변경한다. * 이 방식 보다는 [[windows:powershell|Windows Powershell]]을 사용하는게 낫다.