파워쉘 명령어도 탐색기 마우스 우측 메뉴에 등록할 수 있나요
2022.01.04 21:09
아래는 현재에 있는 폴더 및 파일의 한글 자소를 합치는 파워쉘 명령어입니다.
dir | Rename-Item -NewName {$_.Name.Normalize('FormKD')} 으로 한글 자소를 분리하고
dir | Rename-Item -NewName {$_.Name.Normalize('FormKC')} 으로 한글 자소를 합칩니다.
그리고 배치파일에서도 될 것 같아서 구글링해보니 코드가 나와서 아래처럼 배치파일과 자바스크립를 전혀 모르지만 조합하니 실행은 되지 않네요.
@set @junk=1 /*
@echo off
for %%I in (*.*) do cscript //nologo //E:jscript %%I
goto :eof
*/
x = WScript.Arguments
filename = x(0)
const filenameNFKC = filename.normalize('NFKC');
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (filename != filenameNFKC)
{
fso.MoveFile(filename, filenameNFKC);
}
댓글 [4]
-
ehdwk 2022.01.04 22:52
수고하셨습니다. -
지후빠 2022.01.05 00:29
안녕하세요? 재미있는 주제네요.
1. 배치파일 ; 적당히 가공하여 사용하십시오.
- 보내기 폴더(%AppData%\Microsoft\Windows\SendTo)에 저장해두고 마우스 우클릭-보내기-자소분리 실행하면 파일 1개씩 처리
- 콘솔에서 실행시 자소분리/자소결합.cmd "파일 이름.확장자" 형태로 실행할 수 있습니다.
- 토탈커맨드 도구바에 등록시 매개변수에 %P%N 등록하면 파일 1개씩 처리할 수 있습니다.
- 자소 분리 ; powershell -command "dir '%1' | Rename-Item -NewName {$_.Name.Normalize('FormKD')}" 자소분리.cmd
- 자소 결합 ; powershell -command "dir '%1' | Rename-Item -NewName {$_.Name.Normalize('FormKC')}" 자소결합.cmd
2. 마우스 우클릭 ; 레지스트리에 등록하여 실행 한글자소분리결합.REG 우클릭 이름 등은 메모장으로 수정하여 사용하십시오.
- 여러개 파일을 선택하여 멀티 실행 가능합니다.
참고하시어 원하시는 것을 이루시길 바랍니다. ^^
-
블랙네로 2022.01.05 19:46
메뉴 등록이 잘 됩니다.
감사합니다.
-
지후빠 2022.01.05 21:44
자소분리.cmd "폴더 이름" 형태로 하면 폴더에 포함된 모든 파일과 폴더 이름이 자소분리가 됩니다.
반대로 자소결합.cmd "폴더 이름" 형태로 하면 폴더내의 파일과 폴더 이름이 자소 결합이 됩니다.