250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MySQL
- 비밀번호변경
- todolist
- 네인생우습지않다
- UPSERT
- 중용
- 클라우드
- php
- 독후감
- ChatGPT
- 훌륭한모국어
- linux명령어
- Face Detection
- 다산의마지막습관
- 공작과개미
- git 업로드
- Python
- 성선택
- 지방사람이보는서울사람
- db
- 서울로가자
- 일일투자금액
- delete
- Django
- 꼭읽어봐야할책
- Git
- 헬레나크로닌
- 옹졸함
- OpenCV
- 나만의주식5법칙
Archives
- Today
- Total
Terry Very Good
[batch] batch 파일 만들기 모든 것(관리자 권한 실행, 프로그램 실행, send keys, time delay) 본문
728x90
반응형
1. 특정 프로그램을 관리자 권한으로 실행하는 방법
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
2. 프로그램 동작시키는 명령
start /d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\" /b Outlook2016.lnk
start /d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\RPADU\" /b RPADURobot.lnk
3. Time Delay를 주는 명령
TIMEOUT /t 60
TIMEOUT /t 10
4. 키보드를 입력하는 것과 동일한 명령을 주는 명령
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{ENTER}')"
아래는 키보드 키에 해당하는 코드를 담아보았다.
- (1). 특수키(조합가능)
Key | Code |
SHIFT | + |
CTRL | ^ |
Alt | % |
- (2). 일반키
Key | Code |
Backspace | {백스페이스}, {B} 또는 {BKSP} |
BREAK | {중단} |
CAPS LOCK | {CAPSLOCK} |
DEL 또는 삭제 | {삭제} 또는 {삭제} |
아래쪽 화살표 | {를} |
End | {END} |
Enter 키 | {0} 입력} 또는 ~ |
ESC 키 | {ESC} |
HELP | {도움말} |
Home | {0} 홈} |
기능 또는 삽입 | {삽입} 또는 {기능} |
왼쪽 화살표 | {LEFT} |
NUM LOCK | {NUMLOCK} |
Page Down | {PGDN} |
Page Up | {PGUP} |
PRINT SCREEN | {PRTSC} (사용 하도록 예약) |
오른쪽 화살표 | {RIGHT} |
스크롤 잠금 | {SCROLLLOCK} |
Tab | {TAB} |
위쪽 화살표 | {UP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
F13 | {F13} |
F14 | {F14} |
F15 | {F15} |
F16 | {F16} |
키패드 추가 | {0} 추가} |
키패드 빼기 | {빼기} |
키패드 곱하기 | {곱하기} |
키패드 나누기 | {나누기} |
5. 내가 만든 배치파일이다
- Outlook과 RPA프로그램을 관리자모드로 실행하고, RPA 프로그램에 단축키를 줘서 자동 스케쥴링 주도록 만들었다.
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
TIMEOUT /t 60
start /d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\" /b Outlook2016.lnk
TIMEOUT /t 10
start /d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\RPADU\" /b RPADURobot.lnk
TIMEOUT /t 10
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{TAB}')"
powershell "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{ENTER}')"
%SendKeys% "^{TAB}"
%SendKeys% "^{TAB}"
%SendKeys% "^{TAB}"
%SendKeys% "^{TAB}"
%SendKeys% "^{TAB}"
%SendKeys% "{ENTER}"
728x90
반응형
'프로그래밍' 카테고리의 다른 글
cmd로 특정 프로그램을 관리자 권한으로 실행하는 방법 3가지(batch파일, cmd, 일반) (0) | 2022.12.19 |
---|---|
[JAVA] foreach로배열에 있는 내용 반복 활용하기 (0) | 2022.11.22 |
vue.js 사용하여 개발할 때 vscode의 커맨드창에서 다운받아야 할 것!! (0) | 2021.06.22 |
[MySQL, PHP, LINUX] DB의 사진명과 실제 파일의 사진명 바꿔주는 법(CONCAT, RENAME, opendir) (0) | 2021.02.24 |