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.