सवाल स्वचालित रूप से विंडोज फ़ाइल नाम से अमान्य वर्णों को पट्टी करें


मैं अक्सर पीडीएफ के शीर्षक अपने फाइलनामों में पेस्ट करता हूं ताकि मैं आसानी से उनके लिए खोज सकूं। उनके पास अक्सर न्यूलाइन या अमान्य वर्ण होते हैं :, और विंडोज एक बेवकूफ त्रुटि पॉप अप करता है और फिर फ़ाइल नाम को मूल में बदल देता है:

enter image description here

मुझे उन पात्रों की परवाह नहीं है और अगर वे इसे बदल देते हैं तो पूरी तरह से खुश होंगे - या उन्हें पूरी तरह से हटा दिया। क्या मैं ऐसा कुछ कर सकता हूं? इस प्रॉम्प्ट को अक्षम करने के लिए कोई सिस्टम सेटिंग?

सबसे अच्छा मैं सोच सकता हूं कि "पेस्ट क्लिपबोर्ड के लिए अपने कीबोर्ड शॉर्टकट के साथ ऑटोहोटीकी स्क्रिप्ट है लेकिन पहले अमान्य वर्ण हटाएं", जो मैं वर्तमान में उपयोग कर रहा हूं।


4
2017-10-29 23:01


मूल


यदि आप इसे नियमित रूप से कर रहे हैं, तो शायद एक बेहतर स्वचालित प्रक्रिया अधिक कुशलता से काम करेगी। - Hello71
@ हैलो 71: इसका क्या मतलब है? - endolith


जवाब:


मुझे अपनी संगीत फाइलों के साथ एक ही समस्या थी। मैंने सब कुछ का नाम बदलने के लिए जावा प्रोग्राम लिखना समाप्त कर दिया। मैं भाग्यशाली था क्योंकि कुछ मुफ्त एमपी 3 आईडी 3 मेटाडाटा पुस्तकालय उपलब्ध थे। मुझे यकीन नहीं है कि पीडीएफ मेटाडेटा पढ़ने के लिए एक मुफ्त लाइब्रेरी उपलब्ध है या नहीं। इसके बारे में एक चर्चा है यहाँ

बहुत सारी खोज के बाद, मुझे यह टूल मिला (ए-पीडीएफ नाम बदलें) जो मेटाडेटा के आधार पर पीडीएफ फाइलों का नाम बदलने में सक्षम होने का दावा करता है। मैंने पहले कभी नहीं देखा या सुना है। अपने जोखिम पर खरीद और डाउनलोड करें।


0
2017-12-27 09:59





आप एक कोशिश कर सकते हैं AutoIt स्क्रिप्ट जो आपके क्लिपबोर्ड में अमान्य वर्णों को प्रतिस्थापित करेगी।

मैं खुद ऑटोिट का उपयोग नहीं करता, इसलिए मुझे स्क्रिप्टिंग भाषा नहीं पता है, लेकिन कई लोग क्लिपबोर्ड सामग्री का उपयोग करके उपयोग कर रहे हैं ClipGet() और ClipPut(value)। मुझे क्लिपबोर्ड पर "मॉनीटर" करने का अच्छा तरीका नहीं मिला, मुख्य रूप से मैंने देखा कि लूप जो चलने के बीच 1 सेकंड के लिए सोए थे।

मुझे लगता है कि यह हैलो 71 मतलब है। आशा है कि यह आपको सही दिशा में इंगित करे।


0
2018-01-02 21:48





मैं उपयोग कर रहा हूँ यह ऑटोहॉटकी कीबोर्ड शॉर्टकट, जो ठीक काम करता है, लेकिन "स्वचालित" नहीं है:

;------------------------------------------------------------------------------
; Win+V: Paste as plain text from clipboard
;------------------------------------------------------------------------------
#v::
   Clip0 = %ClipBoardAll%
   ClipBoard = %ClipBoard% ; Convert to plain text
   Send ^v ; For best compatibility: SendPlay
   Sleep 50 ; Don't change clipboard while it is pasted! (Sleep > 0)
   ClipBoard = %Clip0% ; Restore original ClipBoard
   VarSetCapacity(Clip0, 0) ; Free memory
Return

;------------------------------------------------------------------------------
; Win+Alt+V: Paste plain text only, stripping characters unsafe for filenames
;------------------------------------------------------------------------------
#!v:: ; paste without formatting
  StringReplace, clipboardt, clipboard, `r`n, %A_Space%, All
  clipboardt := RegExReplace(clipboardt, "` {2,}", "` ")
  StringLeft, 1st, clipboardt, 1
  IfInString, 1st, %A_Space%
    StringTrimLeft, clipboardt, clipboardt, 1
  StringRIght, last, clipboardt, 1
  IfInString, last, %A_Space%
    StringTrimRight, clipboardt, clipboardt, 1
;Send {Raw}%clipboardt%

  Clip0 = %ClipBoardAll%
  ClipBoard = %clipboardt% ; Convert to plain text
  Send ^v ; For best compatibility: SendPlay
  Sleep 50 ; Don't change clipboard while it is pasted! (Sleep > 0)
  ClipBoard = %Clip0% ; Restore original ClipBoard
  VarSetCapacity(Clip0, 0) ; Free memory
  clipboardt =
return

0
2018-03-26 16:14





जब मैं उस उद्देश्य के लिए आवश्यक हो तो मैं इस आह कोड को सक्रिय करता हूं। एक ctrl + alt + shift + g (या जो भी आपने चुना है) स्वचालित रूप से अंडरस्कोर (या आप जो चाहते हैं) द्वारा प्रतिबंधित वर्णों की प्रतिलिपि बना लेंगे। (आपको इसे अनुकूलित करने के लिए इसे पूरी तरह से समझने की ज़रूरत नहीं है)।

!^+g::                              ;  Alt(!) CTRL(^) shift(+) G ----------------  replace \? <>/\\\*""|: by _ 
clipboard =                        ; empty clipboard
Send, {CTRLDOWN}c{CTRLUP}{ESC}     ; send the ctrl C command to copy text in clipboard
ClipWait                           ; wait until there is something in clip bord
Removesign := RegExReplace(clipboard, "[\? <>/\\\*""|:]", "_")  ; run the regex on the clipboard content and save it in Removesign 
clipboard = %Removesign%           ; send Removesign to clipboard
ClipWait
return

0
2018-03-17 06:47