Windows XP 기본 Copy Here 이름을 "Copy of {name}. {ext}"에서 "{name}. {ext} .copy"로 변경하는 모든 옵션


9

Windows (XP) 이상의 동일한 디렉토리에 복사 된 파일의 기본 명명 규칙을 변경할 수있는 옵션 또는 도구가 있습니까?

예 : {name}. {ext}의 사본 : {name}. {ext} .copy

현재 :

original_file.php
Copy of original_file.php

원하는 :

original_file.php
original_file.php.copy

이렇게하면 복제 된 파일을 찾거나 작업하는 것이 훨씬 쉬워지고 (함께 자동 정렬) 파일 형식 (확장자에 따라)이 변경되어 실수로 무언가를 "파괴"할 수 없습니다 (예 : 컴파일시 * .java 파일 인 경우) 오류가 발생합니다)


메모장 ++ 해결 방법 : 위의 PHP 끝에서 알 수 있듯이 텍스트가 포함 된 파일 만 처리하는 경우 자동 저장 기능과 함께 메모장 ++을 사용할 수 있습니다. > 설정> 환경 설정> 탭 "백업 / 자동 완성"을 참조하면 "백업 / 자동 완성"은 하나의 백업 파일에 대해서만 "간단 백업"을 사용하고 파일에 타임 스탬프가있는 별도의 폴더에 대해서는 "Verbose 백업"을 사용하십시오. 또한 플러그인 자동 저장을 확인하십시오. 원하는 것일 수 있습니다.
Kai Noack

답변:


9

내가 올바르게 이해하면 동일한 디렉토리에 파일의 복제본을 만들고 싶습니다. "보내기"메뉴를 통해 .cmd 파일을 만들었습니다. 경우 name.ext.copy파일이 이미 존재하는, 그것은 생성합니다 :

  • name.ext.copy2
  • name.ext.copy3
  • 기타...

설치하기 위해서

  1. Start > Run...메뉴로 이동하여 " sendto"또는 " shell:sendto"를 입력하십시오.
  2. 팝업 창에서 새 텍스트 파일을 작성하십시오.
  3. 메모장에서 새 파일을 엽니 다.
  4. 아래 텍스트에 붙여 넣습니다.
  5. 텍스트 파일의 이름을 " Copy of.cmd"(따옴표 포함)로 바꾸십시오 .

쓰다

  1. 하나 이상의 파일 그룹을 선택하십시오.
  2. 파일을 마우스 오른쪽 버튼으로 클릭하십시오.
  3. Send To...> Copy of.cmd옵션을 선택하십시오 .

.cmd 사본

for %%f in (%*) do call :try_copy %%f
goto :eof

:try_copy
if not exist "%~1.copy%2" goto :copy
call :try_next %1 %2
goto :eof

:copy
copy %1 "%~1.copy%2"
goto :eof

:try_next
if "%2" == "" ( set _next=2 ) else ( set /a _next=%2 + 1 )
call :try_copy %1 %_next%
goto :eof

감사합니다 @kskfisher! 이렇게하면 훌륭한 해결 방법 (기본 방법이 없어야 함)으로 보입니다. ;-)
scunliffe

0

그래서 나는 그것을 해결했다 :

for %%f in (%*) do call :try_copy %%f
goto :eof

:try_copy
if not exist "%~d1%~p1%~n1{copy%2}%~x1" goto :copy
call :try_next %1 %2
goto :eof
:copy
if "%2" == "" call :try_next %1 %2
copy %1 "%~d1%~p1%~n1{copy%2}%~x1"
exit

:try_next
set /a _next=%2 + 1
call :try_copy %1 %_next%
goto :eof

게시 한 경로 문제는 컨텍스트 메뉴 항목을 만든 방법에서 비롯된 것 같습니다. 왜냐하면 그 문제가 없기 때문입니다.

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\AllF01]
 @="C&@py"

[HKEY_CLASSES_ROOT\*\shell\AllF01\command]
 @="C:\\AEdNs\\nCodIP\\nCodIU\\Copy.cmd \"%1\""

MS Windows 탐색기를 사용하지 않습니다. 다양한 휴대용 / 프리웨어 파일 관리자를 사용합니다.

모두 (그러나 하나)는 원본 스크립트가 프리웨어 파일 관리자의 루트 "install"디렉토리에 파일을 복사한다는 문제가 있었으므로 원본 파일 %~d1%~p1의 drive \ path를 출력 파일에 추가했습니다 ...

여러 가지 이유로 코드를 다양한 방법으로 조정하고 SendTo가 아닌 XP 컨텍스트 메뉴를 통해 선택한 파일에서 코드를 시작했습니다.


@AEN에게 감사드립니다. 메뉴를 보냈을 때의 자식 메뉴와 컨텍스트 메뉴 항목으로 어떻게 "설치"하는지 궁금하십니까?
scunliffe

1
실제로 레지스트리를 편집 하고이 옵션을 컨텍스트 메뉴에 추가했습니다 ...하지만 선택한 파일의 디렉토리가 아닌 내 * .cmd 파일이있는 디렉토리에 복사 / 검색을 작성하려고한다고 생각합니다. 여기에서 레지스트리 설정 (조정 됨)을 사용 하여 컨텍스트 항목을 추가했습니다 ( superuser.com/questions/65105/… ) .
scunliffe

AEN, 당신은 사이트에 등록하거나 쿠키를 유지하려고하면 그렇지 않으면 자신의 게시물을 편집하거나 답변을 할 수 없습니다. 또한, 우리가 "편집자"가하는 일은 모든 것을 쉽게 읽을 수있게하는 것입니다. 당으로 자주 묻는 질문 , 여기에 취해진 조치 당신에게 명확해야한다. 부드럽게 생각 나게하고, 의도하지 않은 의도로 사용하십시오.
slhck

나는 당신의 배치 코드를 좋아합니다. "보내기"메뉴를 통해 코드를 사용하여 file.txt라는 파일을 반복해서 복사하면 file {copy1} .txt, file {copy2} .txt 등이 생성됩니다. 그러나 누군가 누군가 file (1) .txt, file (2) .txt 등을 생성하려는 경우 {copy % 2}를 표시하는 코드 부분을 (% 2)로 변경할 수 있습니다. 나는 이것이 오래된 스레드라는 것을 알고 있지만이 페이지를 가로 지르는 다른 사람들에게 기여하고 싶었습니다.
Trekker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.