강좌 / 팁

기 타 [배치파일]에서 클립보드 읽고 쓰는 방법

2021.07.19 10:26

네오이즘 조회:1577 추천:11

 

 

배치파일에서 클립보드 활용하는 방법입니다.

 

배치파일도 외부에서 변수등을 받아올일이 있습니다.

매개변수를 받는다던가  set /p등으로 받아올일이 있는데 사실 좀 불편합니다.

 

클립보드를 활용하면 편한데 배치파일과는 무관하다고 생각하고 있었는데,

배치파일에서도 클립보드를 활용할 수 있는 방법이 있어서 소개하려고 합니다.

 

 

 

 

1. 클립보드 내보내기

 

텍스트나 변수 혹은 명령등을 클립보드로 옮기는 방법입니다.

 

CLIP 이라는 명령어를 쓰면 간단합니다.

 

clip을  리다이렉트(|)를 써서 사용하면 됩니다.

(코딩폰트가 아니라서 구분이 안될수 있는데 그냥 일자가 아니고  키보드\하고 쉬프트를 눌러서 나오는 작대기 2개짜리 기호입니다)

 

 

1) 텍스트를 클립보드로

 

 

 echo.텍스트|clip

 

 

 

 

 

2) 변수를 클립보드로

 

 

 echo.%text%|clip

 

 

 

 

 

3) 명령어의 결과를 클립보드로

 

 

 dir/w | clip

 

 

 

 

출력내용 | clip 형태로 다양한 응용이 가능합니다.

 

 

 

 

 

 

 

2. 클립보드 가져오기

 

이번엔 클립보드를 읽어오는 방법인데 clip명령어로는 불가능해서 파워쉘을 활용하는 방법으로 사용합니다.

 

 

 

1) 클립보드 단순출력

 

 

 powershell Get-Clipboard

 

 

단순출력은 파워쉘의 Get-Clipboard를 활용하여  powershell Get-Clipboard 형태로 쓰면 파워쉘명령어를 바로 가져올 수 있습니다.

 

 

 

 

2) 클립보드 변수화

 

 

 setlocal EnableDelayedExpansion

 

 for /f "tokens=1 delims=" %%A in ('powershell Get-Clipboard') do ( set Clipboard=%%A )

 

 echo.!Clipboard!

 

 

 

클립보드 변수화는 살짝 까다로워지는데 3줄이 필요합니다.

리다이렉트를 써서 변수지정을 할수 있는 방법이 마땅치 않아서 for를 써서 변수지정(변수명:Clipboard)을 하는 방법을 사용합니다.

 

 

그런데 배치파일에서 for안에서의 변수는 지역변수이기 때문에 전역변수로 바꿔서 사용합니다.

 

대게 코드 앞부분에 setlocal EnableDelayedExpansion 라고 선언을 해주고 변수명을 %Clipboard%가 아닌 !Clipboard!로 사용해줍니다

 

2번줄이 실제 변수지정하는 방법이고 1,3번줄은 지역변수 피하기 위해 필요한 내용입니다.

 

 

 

참고로 이경우 단점은 클립보드가 멀타리인일경우 마지막줄만 가져오게 됩니다.

 

for안에서 멀티라인을 재조립하는 방법도 시도해봤는데 비슷하게는 되지만 똑같이 재조립이 안되고 코드가 길어지는 단점이 있고,

여러줄의 클립보드를 변수화시킬일이 많지는 않을것 같아서 제외했습니다.

 

 

 

배치파일에서 클립보드를 활용하시려는 분들께 도움이 되었으면 합니다.

 

 

 

 

 

 

 

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4240 하드웨어| 한국인 최애 멤브레인 키보드 10개 추천 [14] BOK 3038 3 10-03
4239 소프트웨어| 한글2022 업데이트 자동 설치 옵션 [17] 무월 5687 25 10-01
4238 윈 도 우| 윈도우11 . kb5017321 업데이트가 제대로 안 되는 경우 해... heykevin 2142 5 09-27
4237 소프트웨어| Snapshot간이현지화 [업데이트10] [41] sunshine 3650 29 09-26
4236 윈 도 우| [실사] 윈도우11(22H2) 업그레이드 우회 설치 [12] 무월 4912 18 09-24
4235 윈 도 우| 파워쉘만으로 PE 부팅 USB 만들기 [5] zerojiddu 2259 10 09-23
4234 윈 도 우| 윈도우11.22H2이상에서 탐색기 탭 활성화하기-글 수정 [8] 타천사둘리 2691 10 09-21
4233 모 바 일| [팁] 스마트폰 스피커 물 빼기 [1] asklee 2634 2 09-19
4232 윈 도 우| 디펜더 전체검사때, CPU 100% 급상승 해결하기 [4] zerojiddu 2298 8 09-16
4231 소프트웨어| VirtualBox 7.0.0 Beta - 새로운 기능 및 TPM 설정 [4] VᴇɴᴜꜱGɪ 1660 6 09-13
4230 소프트웨어| 드라이브 문자 할당/제거 배치파일 [17] 지후빠 1964 23 09-12
4229 윈 도 우| 리소스 잡아먹는 Edge 설정 한방에 하기 [39] zerojiddu 7746 30 09-06
4228 소프트웨어| Total Commander 10.5x 32비트 및 64비트용 확장 한국어 메... [12] VᴇɴᴜꜱGɪ 2212 18 09-05
4227 윈 도 우| 무인 마우스 포인터 이동, 키 터치 작동 파워셀 코드 [2] zerojiddu 1216 6 09-03
4226 소프트웨어| Google Chrome에서 최소 탭 너비를 설정하는 방법 [1] VᴇɴᴜꜱGɪ 1405 8 08-30
4225 윈 도 우| 잘 안쓰는 window apps , 파워셀 명령어로 한번에 제거하기 [11] zerojiddu 2776 12 08-29
4224 소프트웨어| PE 에서 바로 가기 생성 배치 파일에 대한 고찰 [17] 지후빠 2105 25 08-28
4223 소프트웨어| 윈포 쪽지 전달 반자동화 AHK 매크로(배포중지) [39] 지후빠 1695 31 08-23
4222 소프트웨어| True Image 실행 시 삭제한 백업 폴더가 다시 생성되는 문... [1] 봄빛깔 1132 8 08-21
4221 윈 도 우| [실사] 만능WIM 응답파일(Unattend.xml) 교체 [33] 무월 2886 30 08-21
XE1.11.6 Layout1.4.8