ตัวเลือกใด ๆ เพื่อเปลี่ยนการตั้งชื่อเริ่มต้นของ Windows XP คัดลอกที่นี่จาก“ คัดลอกจาก {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

ซึ่งจะทำให้การค้นพบ / การทำงานกับไฟล์ที่ซ้ำกันมากได้ง่ายขึ้น (พวกเขาอัตโนมัติเรียงกัน) และ filetype (โดยส่วนขยาย) การเปลี่ยนแปลงจึงไม่สามารถตั้งใจ "หยุด" บางสิ่งบางอย่าง (เช่นถ้าเป็นไฟล์ * .java เมื่อรวบรวมฉัน จะได้รับข้อผิดพลาด)


วิธีแก้ปัญหา Notepad ++: หากคุณจัดการเฉพาะไฟล์ที่มีข้อความเนื่องจาก PHP ที่ลงท้ายด้วยข้างต้นแสดงถึงคุณสามารถใช้ Notepad ++ ที่มีคุณสมบัติบันทึกอัตโนมัติ ดูที่การตั้งค่า> การตั้งค่า> แท็บ "การสำรองข้อมูล / การทำให้สมบูรณ์อัตโนมัติ" ใช้ "การสำรองข้อมูลแบบง่าย" สำหรับไฟล์สำรองข้อมูลเพียง 1 ไฟล์ให้ใช้ "การสำรองข้อมูลแบบ Verbose" สำหรับโฟลเดอร์แยกต่างหาก ตรวจสอบปลั๊กอินการบันทึกอัตโนมัตินี่อาจเป็นสิ่งที่คุณต้องการ
Kai Noack

คำตอบ:


9

ถ้าฉันเข้าใจถูกต้องคุณต้องการสร้างไฟล์ที่ซ้ำกันในไดเรกทอรีเดียวกัน ฉันสร้างไฟล์. cmd เพื่อทำสิ่งนี้ผ่านเมนู "ส่งไปยัง" หากname.ext.copyไฟล์มีอยู่แล้วมันจะสร้าง:

  • name.ext.copy2
  • name.ext.copy3
  • ฯลฯ ...

ติดตั้ง

  1. ไปที่Start > Run...เมนูและพิมพ์ " sendto" หรือ " shell:sendto"
  2. ในหน้าต่างที่ปรากฏขึ้นให้สร้างไฟล์ข้อความใหม่
  3. เปิดไฟล์ใหม่ใน Notepad
  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 Explorer ฉันใช้ตัวจัดการไฟล์พกพา / ฟรีแวร์ต่าง ๆ

ทั้งหมด (แต่หนึ่ง) มีปัญหาที่สคริปต์ต้นฉบับจะคัดลอกไฟล์ไปที่ไดเรกทอรี "ติดตั้ง" ของตัวจัดการไฟล์ฟรีแวร์ดังนั้นฉันจึงเพิ่ม%~d1%~p1ซึ่งทำให้ไดรฟ์ \ เส้นทางของไฟล์ต้นฉบับในไฟล์เอาต์พุต ...

ฉัน tweaked รหัสด้วยวิธีการต่าง ๆ ด้วยเหตุผลต่าง ๆ และเพื่อเปิดรหัสบนไฟล์ที่เลือกผ่านเมนูบริบท XP ไม่ใช่ SendTo


ขอบคุณ @AEN - เพียงแค่สงสัยว่าคุณ "ติดตั้ง" นี้เป็นรายการเมนูบริบทของตัวเองกับลูกของเมนูส่งไปที่?
scunliffe

1
ที่จริงแล้วฉันจัดการแก้ไขรีจิสทรีและเพิ่มตัวเลือกนี้ในเมนูบริบท ... แต่ฉันคิดว่ามันพยายามสร้างสำเนา / ค้นหาในไดเรกทอรีที่ไฟล์ * .cmd ของฉันไม่ใช่ไดเรกทอรีของไฟล์ที่เลือก ฉันใช้การตั้งค่ารีจิสทรี (ปรับปรุง) จากที่นี่: superuser.com/questions/65105/…เพื่อเพิ่มรายการบริบท
scunliffe

AEN คุณควรลงทะเบียนในเว็บไซต์หรือพยายามเก็บคุกกี้ไว้ไม่เช่นนั้นคุณจะไม่สามารถแก้ไขหรือตอบกระทู้ของคุณเองได้ นอกจากนี้โปรดรักษาให้เป็นความลับสิ่งที่เรา "บรรณาธิการ" ทำคือ - ในตอนแรก - เพื่อให้ทุกอย่างง่ายต่อการอ่าน ตามคำถามที่พบบ่อยการกระทำที่นี่ควรชัดเจนสำหรับคุณ เพียงแค่ใช้เป็นเครื่องย้ำเตือนอ่อนโยนไม่มีความผิด
slhck

ฉันชอบรหัสชุดของคุณ เมื่อคัดลอกไฟล์ชื่อ file.txt ซ้ำ ๆ โดยใช้รหัสของคุณผ่านทางเมนู "ส่งไปที่" สิ่งนี้จะให้ไฟล์ {copy1} .txt, ไฟล์ {copy2} .txt และอื่น ๆ อย่างไรก็ตามหากมีคนต้องการให้ไฟล์ (1) .txt, ไฟล์ (2) .txt และอื่น ๆ ส่วนต่าง ๆ ของรหัสของคุณที่แสดง {copy% 2} สามารถเปลี่ยนเป็น (% 2) ฉันรู้ว่านี่เป็นหัวข้อเก่า แต่ต้องการมีส่วนร่วมกับผู้อื่นที่อาจเจอหน้านี้
Trekker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.