फ़ोल्डर + सबफ़ोल्डर बनाने के लिए AHK


-5

मुझे एक AHK स्क्रिप्ट की आवश्यकता है जो बनाता है:

  • विंडोज एक्सप्लोरर (विंडोज 7 के तहत) में वर्तमान में खुले फ़ोल्डर में एक फ़ोल्डर,
  • जिसका नाम है
    • प्रारूप में वर्तमान तिथि ( yyyy-mm-dd)
    • पाठ जो अभी क्लिपबोर्ड में है
  • नए बनाए गए फ़ोल्डर में "1", "2" और "3" नाम के 3 सबफ़ोल्डर होने चाहिए

मैं Testing Testing Testingदूसरे एप्लिकेशन से कुछ शब्द (जैसे ) कॉपी करना चाहता हूं , मेरी हार्डडिस्क (विंडोज एक्सप्लोरर का उपयोग करके) पर एक स्थान पर जाएं, हॉटकी को सक्रिय करें, और एएचके मेरे लिए एक फ़ोल्डर बनाएगा जिसका नाम:

2012-06-04 Testing Testing Testing

सबफ़ोल्डर्स "1", "2" और "3" के साथ।


आपने पहले से क्या कोशिश की है? AHK स्क्रिप्ट के निर्माण के दौरान आप कहां फंस रहे हैं? या आप सिर्फ हमें इसे आपके लिए लिखने के लिए कह रहे हैं?
Ƭᴇc atιᴇ007

मैं AHK शुरुआती हूं और यह मेरे लिए बहुत जटिल है
user1298431

जवाबों:


1

लिपी

#c::
    WinGetClass, WinClass, A
    if (WinClass = "CabinetWClass")
    {
        FormatTime, CurrentDate,, yy-MM-dd
        CustomText = %Clipboard%
        Clipboard = 
        SendPlay, !d^c
        ClipWait, 1
        If ErrorLevel
        {
            MsgBox, Could not read directory name.
            return
        }
        CurrentDir = %Clipboard%
        Clipboard = %CustomText%
        NewDir = %CurrentDir%\%CurrentDate% %CustomText%
        Run, cmd /c (md "%NewDir%" || pause) && md "%NewDir%\1" && md "%NewDir%\2" && md "%NewDir%\3"
    }
    else
        SendPlay, #c
return

यह काम किस प्रकार करता है

  • #c:: ... returnएक महत्वपूर्ण संयोजन (यहां: Win+ C) निर्दिष्ट करता है और ...हिट होने पर निष्पादित करता है ।

  • WinGetClass, WinClass, Aवर्तमान में चर में सक्रिय विंडो का शीर्षक संग्रहीत करता है WinClass

  • if (WinClass = "CabinetWClass") { ... }जांचें कि WinClassक्या CabinetWClass(विंडोज़ एक्सप्लोरर की कक्षा) है।

    यदि ऐसा है :, ...निष्पादित हो जाता है। अन्यथा, SendPlay, #cएक सामान्य Win+ Cस्ट्रोक का अनुकरण करता है ।

  • FormatTime, CurrentDate,, yy-MM-ddYY-MM-DDचर में वर्तमान दिनांक ( ) संग्रहीत करता है CurrentDate

  • Clipboard = क्लिपबोर्ड को साफ करता है, इसलिए हम जांच सकते हैं कि कब कुछ कॉपी हो जाता है।

  • CustomText = %Clipboard%चर में वर्तमान क्लिपबोर्ड सामग्री की प्रतिलिपि बनाता है CustomText

  • SendPlay, !d^c पता बार का चयन करता है और इसकी सामग्री को क्लिपबोर्ड पर कॉपी करता है।

  • ClipWait, 1 किसी भी डेटा को शामिल करने के लिए क्लिपबोर्ड पर एक सेकंड तक प्रतीक्षा करता है।

  • If ErrorLevel { ... } जाँचता है कि क्लिपबोर्ड में कोई डेटा है या नहीं।

    यदि ऐसा नहीं होता है, तो स्क्रिप्ट निरस्त हो जाती है।

  • CurrentDir = %Clipboard%चर में वर्तमान क्लिपबोर्ड सामग्री की प्रतिलिपि बनाता है CurrentDir

  • Clipboard = %CustomText% क्लिपबोर्ड को उसके मूल मूल्य पर वापस सेट करता है।

  • NewDir = %CurrentDir%\%CurrentDate% %CustomText% नई निर्देशिका का नाम निर्दिष्ट करता है।

  • Run, cmd /c ...कमांड निष्पादित करता है ...और फिर बाहर निकलता है।

    • (md "%NewDir%" || pause)बनाने की कोशिश करता है %NewDir%। विफलता पर, यह रुक जाता है, इसलिए आप त्रुटि संदेश देख सकते हैं।

    • md "%NewDir%\1" && md "%NewDir%\2" && md "%NewDir%\3" 3 उपनिर्देशिका बनाता है।


आपकी मदद के लिए धन्यवाद, लेकिन मैं यह काम नहीं कर सकता। मैं एक .ahk फ़ाइल में स्क्रिप्ट पेस्ट करता हूं, लेकिन जब मैं इसे निष्पादित करता हूं तो मैं क्या देखता हूं यह एक कमांड विंडो का एक त्वरित फ्लैश है और कुछ भी नहीं होता है
user1298431

@ क्वेंटो: मैंने इसका परीक्षण किया, और यह मेरी मशीन पर काम करता है। आपके ओएस की भाषा क्या है? कुंजी संयोजन [Ctrl] + A(सभी पाठ का चयन करने के लिए) गैर अंग्रेजी संस्करणों पर भिन्न हो सकता है।
डेनिस

यदि मैं एक बार स्क्रिप्ट निष्पादित करता हूं, तो cmd विंडो बस थोड़ी देर के लिए चमकती है और कुछ भी नहीं होता है। अगर मैं फिर से कोशिश करता हूं, तो एक संदेश है: एक उपनिर्देशिका या फ़ाइल blabla \ 2012-06-05 blabla पहले से मौजूद है। जारी रखने के लिए किसी भी कुंजी को दबाएं ... हो सकता है कि रास्ता गलत हो। मैं अपने ओएस में अंग्रेजी का उपयोग करता हूं। Ctrl + A काम करता है
user1298431

समस्या निवारण: blablaहॉटकी से टकराने पर आप जिस निर्देशिका को ब्राउज़ कर रहे थे, क्या वह पहले से मेल खाती है? क्या आपके पास क्लिपबोर्ड की निगरानी करने वाला कोई कार्यक्रम है? आपने अपने क्लिपबोर्ड पर कौन सा कस्टम पाठ कॉपी किया है?
डेनिस

क्लिपबोर्ड में कस्टम टेक्स्ट "ब्लाब्ला" है। मैं जिस निर्देशिका को ब्राउज़ कर रहा हूं उसका बिल्कुल अलग नाम है। मैं पृष्ठभूमि के अधिकांश अनुप्रयोगों से बाहर निकल गया, लेकिन मुझे यकीन नहीं है कि अगर अन्य क्लिपबोर्ड की निगरानी करते हैं।
user1298431
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.