ปิดการเตือนการเปลี่ยนแปลงนามสกุลไฟล์ใน Windows 7


73

มีวิธีปิดไดอะล็อกการเปลี่ยนชื่อไฟล์นามสกุลใน Windows 7 หรือไม่?

คนที่พร้อมท์คุณ

เปลี่ยนชื่อ: หากคุณเปลี่ยนนามสกุลไฟล์ไฟล์อาจไม่สามารถใช้งานได้ คุณแน่ใจหรือว่าต้องการเปลี่ยนแปลง


4
หากเช่นฉันคุณมักจะได้รับคำเตือนนี้เมื่อสร้างไฟล์บางประเภท (เช่นการสร้าง "เอกสารข้อความ" ใหม่และเปลี่ยนชื่อ) จากนั้นคุณสามารถเพิ่มประเภทที่ต้องการลงในเมนูบริบท "ใหม่"แทน
MrWhite

คำตอบ:


9

เป็นไปได้ด้วยสคริปต์ AutoHotkey:

While, 1
{
 WinWait, Rename ahk_class #32770
 WinActivate, 
 ControlClick, Button1
}

ติดตั้งAutoHotkeyบันทึกรหัสข้างต้นในไฟล์ที่มีนามสกุล. ahk และเปิดใช้งานสคริปต์ มันจะรอให้หน้าต่างเปลี่ยนชื่อปรากฏขึ้น เมื่อใดก็ตามมันจะ "คลิก" โดยอัตโนมัติบนปุ่มใช่ (ระบุไว้ที่นี่ด้วย "Button1")

หากคุณไม่ต้องการติดตั้ง AutoHotkey นี่เป็นเวอร์ชั่นสคริปต์ที่รวบรวมไว้ เรียกใช้ปฏิบัติการและดูมันทำมันวิเศษ :-)

โปรดทราบว่ามันไม่ได้ตอบคำถามจริงๆเนื่องจากคำถามยังคงปรากฏ แต่มันเป็นระบบอัตโนมัติดังนั้นคุณจะไม่ต้องกังวลอีกต่อไป


4
ฉันลองสิ่งนี้ แต่มันใช้เวลาหลายวินาทีกว่าที่สคริปต์จะตอบสนองและ "คลิก" ใช่ มีวิธีใดบ้างในการบรรเทาปัญหานี้
เซซิลมีชื่อ

สคริปต์นี้จะถือว่าหน้าต่างเป็นหน้าต่างที่คาดหวังไม่ใช่ข้อผิดพลาดหรือพรอมต์อื่น ๆ AFAIK หนึ่งสามารถสอบถามการมีอยู่ของหน้าต่างที่เหมาะสม (เช่นผ่านชื่อ) ก่อนที่จะคลิก
horatio

นี่คือวิธีแก้ปัญหา ไม่มีทางอื่นหรือ ดูส่วนขยายและเปลี่ยนแปลง ฉัน SuperUser และรู้ว่าสิ่งที่ฉันทำ ... ;-)
FiveO

2
คลาสนี้#32770เป็นเรื่องปกติมากสำหรับ windows หลายประเภท (ลองค้นหา) ดังนั้นสคริปต์นี้จะทำบางสิ่งกับ windows หลายประเภทที่มีชื่อว่า "Rename" นั่นคือคุณอาจได้รับความช่วยเหลือมากกว่าที่คุณต่อรอง :)
Evgeni Sergeev

วิธีนี้จะไม่หยุดเสียงที่น่ารำคาญที่เล่นเมื่อกล่องโต้ตอบปรากฏขึ้นซึ่งหากคุณต้องการเปลี่ยนชื่อไฟล์จำนวนมากก็จะน่ารำคาญมาก คุณจะต้องลบเสียงออกจากรายการเสียงของระบบ (และนำกลับมาหลังจากนั้น) ซึ่งเป็นการทำงานที่มากเกินไปสำหรับบางสิ่งที่ควรกำหนดค่าได้ :-(
Synetech

21

ในการตอบกลับความคิดเห็นเกี่ยวกับคำตอบที่ยอมรับฉันพบว่าสคริปต์ AHK นั้นค่อนข้างช้า การปรับเปลี่ยนนี้ดูเหมือนจะทำให้เร็วขึ้น:

While, 1
{
 WinWaitActive, Renommer ahk_class #32770
 send o
}

คุณจะสังเกตเห็นว่าฉันใช้ windows เป็นภาษาฝรั่งเศส สำหรับการใช้ภาษาอังกฤษ:

While, 1
{
 WinWaitActive, Rename ahk_class #32770
 send y
}

สำหรับ windows ในภาษาโปรตุเกส (อย่างน้อยรุ่น pt-BR) ให้ใช้:

While, 1
{
 WinWaitActive, Renomear ahk_class #32770
 send s
}

2
สุกใส ใช้งานได้เร็วกว่าคำตอบที่ยอมรับ! เช่นเดียวกับ 0.1s กับ 0.5s อาจเป็น
Jonny

1
มันยังคง dings ทุกครั้ง
Synetech

9

มันเป็นไปได้มากด้วยเครื่องมือที่เหมาะสมความอดทนและการถอดแยกชิ้นส่วนที่ดีและโชคดีที่คุณสามารถปิดการใช้งาน

อย่างไรก็ตามมันไม่ง่ายเหมือนการเปลี่ยนรีจิสตรีคีย์

นี่คือตัวอย่างของบางคนที่ปิดใช้งาน "ความล่าช้า" เมื่อคุณพยายามลบไฟล์ที่ใช้งานอยู่ http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
ฉันพยายามจะแหย่ไปรอบ ๆ และไม่พบสิ่งใดที่มีประโยชน์

ฉันคิดว่าทางออกที่ดีกว่า RtvReco สำหรับใครบางคนในการสร้างตัวเลือกเมนูในเมนูบริบทที่ระบุว่า "Rename2" และเปิดกล่องข้อความขึ้นมาพร้อมชื่อไฟล์ใหม่และใช้ Windows API เพื่อเปลี่ยนชื่อ


1
ที่จริงแล้วฉันรวม NoDeleteDelay ลงในแฮ็ค Explorer อเนกประสงค์ของฉันเมื่อไม่กี่ปีที่ผ่านมา ดูเหมือนว่าการเพิ่มการเปลี่ยนชื่อไม่มีการแจ้งเตือนจะอยู่ถัดจากรายการ :-)
Synetech

@Synetech: ข้อมูลเพิ่มเติมเกี่ยวกับ "แฮ็ค Explorer อเนกประสงค์" ของคุณจะได้รับการชื่นชมมาก
Coxy

1
@Coxy มันเป็นเพียงโปรแกรมที่explorer.exeจะแก้ไข / ปรับปรุง / ลบกลุ่มของสิ่งต่าง ๆ ที่สร้างความรำคาญให้ฉันเกี่ยวกับค่าเริ่มต้น
Synetech

1
@Synetech: โอ้ใช่ฉันเข้าใจว่า แต่ฉันสงสัยว่าคุณมีหน้า github / codeplex / geocities ที่ฉันสามารถดูและแก้ไข explorer ของตัวเองในลักษณะเดียวกัน
Coxy

1
ใช่เห็นได้ชัดว่ามีสิ่งผิดปกติเกิดขึ้นถ้าคุณแก้ไขไฟล์โดยเจตนาและแน่นอนว่าจะต้องมีการใช้งานอีกครั้งหลังจากการอัปเดต สำหรับตัวจัดการไฟล์อื่นฉันยังไม่ได้ใช้อันที่ฉันชอบมากกว่า Explorer พวกเขาทั้งหมดมีแนวโน้มที่จะรกเกินไปและมากเกินไป นอกจากนี้การเปลี่ยนชื่อพรอมต์เป็นสิ่งที่น่ารำคาญเพียงอย่างเดียว
Synetech

3

แทนที่จะดาวน์โหลดแอปทำไมไม่ใช้คำสั่ง 'ren * .aa * .bb' ใน cmd (พรอมต์คำสั่ง)


3
พรอมต์คำสั่งใน Windows 7 ไม่ใช่ DOS
Michael Frank

3
มันไม่ใช่ DOS แต่คำตอบนี้มีประโยชน์มากกว่าคำตอบอื่น ๆ
NateS

2
ไม่ได้จริงๆ ที่ดีที่สุดจะมีประโยชน์ก็ต่อเมื่อคุณจำเป็นต้องเปลี่ยนชื่อไฟล์หนึ่งหรือสองไฟล์และถึงเวลานั้นต้องใช้เวลาพิเศษในการเปิดพรอมต์คำสั่งและเปลี่ยนชื่อไฟล์ที่ถูกต้องมากกว่าเวลาที่ต้องคลิกYesในกล่องโต้ตอบที่ Explorer ปรากฏ ขึ้น
Synetech

3

คุณไม่สามารถปิดการใช้งานข้อความเตือนนามสกุลไฟล์ มีการออกแบบนี้เพื่อความปลอดภัยของผู้ใช้จากการแก้ไขไฟล์โดยไม่ตั้งใจ

ที่มา:

คำตอบของชุมชน Microsoft


29
superuser รู้ว่าสิ่งที่เขาทำ (หวังว่า) - ฉันไม่เคยเปลี่ยนชื่อนามสกุลไฟล์ "ตั้งใจ" และถ้าเป็นเช่นนั้น - ฉันไม่คิดว่า Windows จะโยน bluescreen ทันทีหลังจากเปลี่ยนชื่อโดยไม่ตั้งใจ ...
FiveO

ฉันเห็นด้วยกับชุมชน SU ทั้งหมด แต่ไซต์นี้เป็นข้อมูลอ้างอิงทั่วโลกและบางคนเทคโนโลยีน้อยกว่าที่นี่อาจพยายามเปลี่ยนชื่อและทำให้ระบบยุ่งเหยิง อย่างไรก็ตามนี่เป็นข้อ จำกัด ของ Microsoft ดังนั้น ณ จุดนั้นเทคโนโลยีหรือไม่มันเป็นสิ่งที่มันเป็น (ตามแหล่งที่มาของหลักสูตร)
r0ca

2
You cannot disable the file extension warning message. It has this design to ensure the user's safety from modifying the files accidentally.Microsoft เกือบจะไม่ดีเท่ากับ Google ตัดสินใจเลือกสิ่งที่ดีที่สุดสำหรับพวกเขาแทนที่จะเริ่มต้นให้ปลอดภัยสำหรับมือใหม่ แต่อนุญาตให้ผู้ใช้ขั้นสูงสามารถแทนที่โดยทางเลือกได้
Synetech

2

อย่างไรก็ตามคุณทำไม่ได้ทั้งหมดจะไม่สูญหายไป

คุณสามารถใช้RtvRecoเพื่อปิดคำเตือนโดยอัตโนมัติทันทีที่มันปรากฏขึ้น เครื่องมือเล็ก ๆ ที่สวยงามนี้ถูกออกแบบมาเพื่อทำให้หลาย ๆ ด้านของ Windows โดยอัตโนมัติด้วยการกดปุ่มในกล่องโต้ตอบที่น่ารำคาญการเลือกรายการเมนูการเพิ่มและขยายหน้าต่างให้เล็กที่สุดสำหรับคุณ

... หรือใช้ตัวจัดการไฟล์ที่เหมาะสมแทน Windows Explorer (เช่นTotal Commander )

ทั้งสองโปรแกรมเป็น shareware ลองก่อนตัดสินใจซื้อ

ฉันรับรู้ถึงการแฮ็ครีจิสทรีนี้ แต่มันไม่สามารถใช้งานได้กับ Windows 7

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System]

ตั้งค่า ConsentPromptBehaviorAdmin เป็นศูนย์ (0) และ Reboot

ป.ล. : แน่นอนว่ามีทางเลือกฟรีสำหรับผู้บัญชาการทั้งหมดมันแค่เกิดขึ้นกับผู้จัดการไฟล์ที่ฉันเลือก


3
ฉันอยู่ภายใต้ความเชื่อที่ว่าแค่ปิดใช้งาน UAC บุคคลอื่นสามารถยืนยัน / ปฏิเสธได้หรือไม่
Natalie Adams

ใช่ แต่ฉันพบสิ่งนี้ในเธรดที่ MSDN ซึ่งเป็นวิธีแก้ปัญหาที่เป็นไปได้สำหรับความรำคาญที่เหมือนกันมาก แต่ก็ไม่ได้ผล

1

นี่คือรหัสที่ฉันใช้ในการแก้ปัญหาในสคริปต์ AutoIT ปัญหาเดียวคือที่ยังคงทำงานและ hogs ทรัพยากรบางอย่าง นอกจากคุณจะมีความคิดที่ดีในการแก้ไขสคริปต์แล้ว :-)

While 1
  if WinActive("Rename","") Then
    Send("!y")
  EndIf
  WEnd

1

เนื่องจากเรามีไฟล์ที่เมื่อดาวน์โหลดโดยอัตโนมัติจะมีการเพิ่มวันที่และเวลาเป็นส่วนขยาย ดังนั้นฉันจึงหาวิธีแก้ปัญหาและพบวิธีแก้ปัญหา

ดาวน์โหลดโปรแกรมชื่อ F ree Commander พวกเขามีรุ่นพกพาที่สามารถติดตั้งบนไดรฟ์หัวแม่มือ USB หากจำเป็น

โปรแกรมนี้ให้คุณเลือกหลายไฟล์เช่นเดียวกับในกรณีของฉันและเปลี่ยนชื่อนามสกุลโดยไม่ต้องถามแน่นอน


0

ฉันไม่คิดว่ามันจะเป็นไปได้โดยไม่ใช้อย่างใดอย่างหนึ่ง:

  1. Command Prompt (สร้างความยุ่งยากเว้นแต่ว่าคุณคุ้นเคยกับมัน)
  2. วิธีแก้ปัญหาของบุคคลที่สามไม่ว่าจะเป็นตัวจัดการไฟล์หรือสิ่งที่เกี่ยวข้องกับพรอมต์เพื่อให้คุณไม่ต้องทำ

ส่วนตัวผมใช้PTFB (กด Freakin' ปุ่ม) ; มันค่อนข้างต่ำกับทรัพยากรและรวดเร็วมาก มันไม่ถูกอย่างแน่นอน แต่เป็นสิ่งที่มีประโยชน์สำหรับสิ่งอื่น ๆ


0

ฉันยังรู้สึกเบื่อกับข้อความที่โง่มากดังนั้นฉันจึงสร้างสคริปต์ Autohotkey ของตัวเองพร้อมกับแนวคิดใหม่ ๆ

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

ฉันยังพิจารณาด้วยว่าฉันต้องการให้สคริปต์ของฉันมีผลเฉพาะกับกล่องโต้ตอบนี้เท่านั้น การคำนึงถึงชื่อเพียงอย่างเดียวนั้นไม่เพียงพอเนื่องจากกล่องโต้ตอบการเปลี่ยนชื่อเดียวกันปรากฏขึ้นเมื่อคุณพยายามเปลี่ยนชื่อรายการในเมนูเริ่มเป็นต้น

ดังนั้นจึงมีเงื่อนไขบางประการสำหรับฟังก์ชั่นนี้ในการทำงาน ก่อนอื่นมันจะทำงานบน Windows Explorer และบนเดสก์ท็อป Windows ในส่วนที่เหลือของโปรแกรมหรือสภาพแวดล้อม F2 จะทำงานได้ตามปกติ นอกจากนี้เพื่อป้องกันความขัดแย้งเช่น aformentioned สคริปต์จะตรวจสอบความกว้างและความสูงของหน้าต่างการเปลี่ยนชื่อกล่องโต้ตอบเพื่อตรวจสอบว่ามีการจับคู่หรือไม่

ในที่สุดฉันก็รวมคุณสมบัติของการเลือกชื่อไฟล์ทั้งหมดโดยอัตโนมัติ (รวมถึงส่วนขยายเช่นก่อน Windows 7) เพราะฉันชอบวิธีนี้ อย่าลังเลที่จะลบบรรทัดส่ง ^ + {end} หากคุณไม่ต้องการ

สำหรับ Windows เวอร์ชั่นภาษาอังกฤษคุณจะต้องเปลี่ยน "cambiar nombre" ให้เป็นชื่อที่อยู่ในชื่อหน้าต่างการเปลี่ยนชื่อ นอกจากนี้ให้เปลี่ยน "s" ด้วย "y" ในกรณีที่ใช้งานไม่ได้คุณสามารถใช้ Autoit3 Window Spy เพื่อตรวจสอบว่าหน้าต่างการเปลี่ยนชื่อบทสนทนาของคุณมีขนาดนี้จริง ๆ (ถ้า (warnw = 515) และ (warnh = 154)

#SingleInstance force

GroupAdd, folders2, ahk_class CabinetWClass
GroupAdd, folders2, ahk_class WorkerW
GroupAdd, folders2, ahk_class ExploreWClass
GroupAdd, folders2, ahk_class Progman
return

$F2::
if ( Winactive("ahk_group folders2") )
{
Send {F2}
Send ^+{end}
settimer, renombrar, 20
return
}
Else
{
Send {F2}
Return
}

renombrar:
WinWaitActive, Cambiar nombre ahk_class #32770
WinGetPos,,, warnw, warnh, Cambiar nombre
if (warnw = 515) and (warnh=154)
{
send, s
click up left
settimer, renombrar, off
return
}
Else
{
settimer, renombrar, off
return
}

0

สร้าง vb-script ที่เปลี่ยนชื่อไฟล์วางในโฟลเดอร์พิเศษ "SendTo" คลิกขวาที่ไฟล์ที่ต้องการเปลี่ยนนามสกุลและกรอกชื่อใหม่ ไม่มีคำเตือนอีกต่อไปและใช้เวลาเพียงไม่กี่นาทีในการสร้างสคริปต์ สคริปต์ประกอบด้วยสิ่งนี้:

on error resume next
Set objArg = Wscript.Arguments
do
   if objArg.Count < 1 then exit do
   fil=objArg(0)
   Set FSO = CreateObject("Scripting.FileSystemObject")
   if Err.Number > 0 then exit do
   Set f1 = FSO.GetFile(objArg(0))
   fil=f1.Name
   i=inputbox("","",fil)
   if i = fil then exit do
   f1.Name = i
   exit do
loop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.