फ़ाइल एक्सटेंशन के आधार पर अलग-अलग फ़ोल्डरों में डायनामिक रूप से सॉर्ट किए जाते हैं जैसे वे बनाए जाते हैं


0

मैं एक परिधान सीएडी सिस्टम (लेक्ट्रा मोडारिस) के साथ काम कर रहा हूं, जो सहेजने पर स्वचालित रूप से 3 फाइलें उत्पन्न करता है। एक .MDL फ़ाइल, एक .HTML फ़ाइल और .XCH फ़ाइल है।

मैं HTML फ़ाइलों को स्वचालित रूप से MDL फ़ाइलों से एक अलग फ़ोल्डर में सहेजना चाहता हूं (मुझे परवाह नहीं है कि XCH फ़ाइलों का क्या होता है क्योंकि मैं उनका उपयोग नहीं करता हूं)।

मैंने CAD सिस्टम विक्रेता के साथ बात की है और वे कहते हैं कि वे इससे मदद नहीं कर सकते, लेकिन मैं सोच रहा हूं कि ऐसा करने के लिए विंडोज से कुछ भी हो सकता है।

धन्यवाद!

जवाबों:


0

वहाँ कई अलग अलग तरीकों से आप यह कर सकते हैं।

आप बहुत सारी अलग-अलग स्क्रिप्टिंग भाषाओं का उपयोग कर सकते हैं जो विंडोज पर देशी रूप से चलती हैं। .bat बैच, .vbs विज़ुअल बेसिक, .ps1 पॉवरशेल और .js जावास्क्रिप्ट

आपके विशेष समस्या सेट के स्वचालन पहलू के अलग-अलग दृष्टिकोण हैं।

  1. आप स्क्रिप्ट लिख सकते हैं ताकि यह आपके ऐप से बदलाव का इंतजार करे।
  2. आप हर 15 मिनट में विंडोज टास्क शेड्यूलर में स्क्रिप्ट को शेड्यूल कर सकते हैं; या आप जो भी अंतराल चाहते हैं।

विंडोज कोड का आप उपयोग कर सकते हैं, पीसी के लिए विंडोज के सभी संस्करणों के लिए वास्तव में सरल, पोर्टेबल है और कोई भी इसका उपयोग कर सकता है। यह वही है जो मैं नीचे प्रदान करूंगा; यह बैच .bat स्क्रिप्टिंग भाषा में होगा। चूंकि मुझे आपके अनुभव के स्तर का पता नहीं है, इसलिए मैं मान लूंगा कि आपने कभी भी .bat स्क्रिप्ट के साथ काम नहीं किया है।

जिन 2 आदेशों के बारे में आपको जानना चाहिए, वे हैं cd और copy.exe। विंडोज स्क्रिप्टिंग स्किल्स की आवश्यकता बहुत कम होती है। 1. एक .bat या .cmd फ़ाइल एक विंडोज बैच या कमांड स्क्रिप्ट है। - जब आप एक -bat बनाते हैं, तो उसे कंप्यूटर पर निर्देश का एक सेट फ़ाइल करें। यदि आप एक .bat फ़ाइल में स्ट्रिंग "हैलो वर्ल्ड" लिखते हैं, तो कुछ भी नहीं होगा लेकिन यदि आप "हैलो वर्ल्ड" की गूंज डालते हैं, तो "हेलो वर्ल्ड" प्रोग्राम स्ट्रिंग हैलो दुनिया प्रदर्शित करेगा। 2. इतना गलत हो सकता है। - भले ही यह (स्क्रिप्टिंग "प्रोग्रामिंग") सभी सरल लगता है कि चीजों के गलत होने और वास्तविक दुनिया की समस्याओं का कारण बनने के लिए बहुत सारे तरीके हैं, आपके मामले में शायद आपके नियोक्ताओं की फाइलों को हटा दें। मैं स्क्रिप्ट में कुछ टिप्पणियाँ डालूँगा नीचे दिए गए वर्णन में सिर्फ 1 उदाहरण दिया गया है कि चीजें कैसे गलत हो सकती हैं।

REM 2.1 Lines of text where beginning of the line has the word REM are 
    ways to put comments in a script. The echo command is the 3rd command 
    but isnt necessary.

REM This next line of code is required for decent display.
@Echo Off

REM 1. Syntax for the cd (Acronym for Change Directory) command is:
REM    CD "SomeFolders full directory path"
REM                  OR
REM    CD "SomeFolder inside the current folders path"
REM                  OR
REM    CD
REM    Using the command cd without anything after it will show your 
       current directory (Your current location)

REM 2. Syntax for the copy command is:
REM    Copy SourceFolder DestinationFolder
REM                  Or
REM    Copy SourceFoldersWildCards DestinationFolder

REM 1.  Change directory to where your files are.
REM You will have to change "C:\Users\Liz E\My Work Files" to the location 
    of your files. I just used this as an example.

REM 2.2 DoubleQuotes are excellent practice b/c all commands don't know how to deal with it when they are not present.
CD "C:\Users\Liz E\My Work Files"

REM Now that you are in another folder you can use relative references.
REM 2. Do some file copying.
REM This is a purposefully incorrect line of code to show what can go wrong.
Copy *.MDL C:\Users\Liz E\My Work Files\The MDL Files
REM Copy doesnt know what to do because there are no DoubleQuotes. 
Thankfully it doesnt do any copying and instead gives you an error message.

Copy *.MDL "C:\Users\Liz E\My Work Files\The MDL Files"
Copy *.HTML "My Work Files\The HTML Files"
Del *.XCH
REM Copied any file with the .MDL file extension
REM - into a folder named "The MDL Files"
REM - using absolute references.
REM Copied *.HTML files to a folder named "The HTML Files"
REM - using relative references.
REM Deleted .xch files using relative references.
REM 3.0 Del was undiscussed and makes 4 commands, 3 of which are necessary.

नीचे स्क्रिप्ट का एक संस्करण है जिसमें कोई टिप्पणी नहीं है।

@Echo Off
CD "C:\Users\Liz E\My Work Files"
Copy *.MDL  "C:\Users\Liz E\My Work Files\The MDL Files"
Copy *.HTML "My Work Files\The HTML Files"
Del  *.XCH

संशोधित संस्करण। द आइफ स्टेटमेंट।

@Echo Off
CD "C:\Users\Liz E\My Work Files"
IF /I NOT "%CD%"=="C:\Users\Liz E\My-Work-Files" GOTO :EOF
Copy *.MDL  "C:\Users\Liz E\My-Work-Files\The-MDL-Files"
Copy *.HTML "C:\Users\Liz E\My-Work-Files\The-HTML-Files"
Del  C:\Users\Liz E\My-Work-Files\*.XCH"

स्वचालन के साथ बेहतर संस्करण।

@Echo Off
REM Set/configure the work folder in C:\My-Work-Files
REM Helps if ur work files are approaching length limit for windows files.
REM Note though you may have to deal with the folders permissions if you
REM put it outside your userprofile. This applies if your concerned about
REM someone else deleting your files or something.
REM Set/configure the work folder in C:\Users\Liz E\My-Work-Files
REM The 2nd line of code "overwrites/takes precedence" over the first one.
Set "MyWorkFiles="%SystemDrive%\My-Work-Files"
Set "MyWorkFiles="%UserProfile%\My-Work-Files"
Set "MDLFilesDest=UserProfile%\My-Work-Files\The-MDL-Files"
REM Set "HTMLFilesDest=UserProfile%\My-Work-Files\The-HTML-Files"

CD "%MyWorkFiles%"
REM If CurrentDirectory isnt right return/dont do anymore of the script.
IF /I NOT "%CD%"=="%MyWorkFiles%" (
    Echo Oops. I must have moved, renamed, or deleted the folder.
    Echo Returning from the script.
    Pause
    GOTO :EOF
)

:Begin
Copy "%MyWorkFiles%\*.MDL"  "%MDLFilesDest%"                             2>Nul
Copy "%MyWorkFiles%\*.HTML" "%UserProfile%\My Work Files\The-HTML-Files" 2>Nul
Del  "%UserProfile%\My Work Files\*.XCH"                                 2>Nul

REM TheAutomationLine. Wait/"pause" for 60 seconds.
Ping 127.0.0.1 -n 60 >Nul

REM Go the the label/section of the script marked as :Begin
REM Effectively this script will run forever; until you close it.
REM You can minimize it and it will work in the "background"
GOTO :Begin

उपरोक्त स्क्रिप्ट [s] कोई गलत काम नहीं कर सकती क्योंकि इसमें कोई सिंटैक्स बग / त्रुटियां नहीं हैं। हां तीसरे ने "आईएफ" में आगे की कमांड शुरू की। अंतिम स्क्रिप्ट में अभी कुछ और "नए" कमांड हैं।

ये सभी अंतिम लिपि में मौजूद हैं।

  1. इसे बेहतर बनाने का एक तरीका यह होगा कि फाइलनामों में जगह न हो।

  2. दूसरा तरीका यह है कि सिर्फ * .html के बजाय "C: \ Users \ Liz E \ My Work Files * .html" का उपयोग करें, लेकिन दोनों सही हैं और पूरी तरह से काम करेंगे।

  3. एक अन्य तरीका कुछ कोड सुरक्षा / कोड चेक को जोड़ना है जैसे कि वर्तमान निर्देशिका को देखने / सत्यापित करने और स्क्रिप्ट वापस करने / बाहर निकलने की जाँच करना अगर (लगभग किसी असंभव कारण के लिए) सीडी कमांड काम नहीं करता है।

स्क्रिप्ट में कोड की यह पंक्ति 3. IF / I ""% CD% "==" C: \ Users \ Liz E \ My Work फ़ाइलें "GOTO: EOF

  1. अंतर्निहित बैच स्क्रिप्टिंग चर का उपयोग करना SystemDrive / UserProfile, अन्य।

हालाँकि, इसके बीच एक वेबपेज पर बैठे और आप इसे नोटपैड में कॉपी / पेस्ट कर रहे हैं या अपनी पसंद के टेक्स्ट एडिटर का मानना ​​है कि कुछ गलत हो सकता है या नहीं।

परिणामी समस्या उसी तरह होगी जैसे मैंने ऊपर दिए गए 1 / भारी टिप्पणी वाले उदाहरण में दी थी। दोहरे उद्धरण वाक्यविन्यास त्रुटि जिसके परिणामस्वरूप आपकी स्क्रिप्ट कुछ भी नहीं करेगी। कौन जानता है कि कुछ अन्य विंडोज़ संस्करण पर कुछ और कर सकता है।

समस्या यह है कि कॉपी किया जा रहा पाठ एक अलग एन्कोडिंग में है और जब चिपकाया जाता है तो वह एन्कोडिंग होता है। एन्कोडिंग परिणामों में चरक होते हैं जो .bat लिपियों को नहीं समझते हैं।

इसलिए उपरोक्त अधिकांश गैर-टिप्पणी वाले कोड समान होंगे; लगभग 90%। क्या अलग होगा डबल कोट्स वे उस अलग एन्कोडिंग में होंगे। आप नोट चरक का चयन कर सकते हैं और नोटपैड में फाइंड / रिप्लेस का उपयोग कर सकते हैं जो पूरी तरह से अच्छा डबल कोट चरक जैसा दिखता है (हालांकि आप यह देख सकते हैं कि यह इटैलिकाइज़्ड जैसा दिखता है) एक के साथ आप मैन्युअल रूप से नोटपैड में "बदलें" डायलॉग में टाइप करें। ।

इस पोस्ट के निचले हिस्से में लिंक किया गया लेख देखें यदि यह मुश्किल लगता है या आप इस एन्कोडिंग समस्या से निपटने के लिए कुछ शांत एप्लिकेशन डाउनलोड करना चाहते हैं।

कॉपी / पेस्ट हो रहा है समस्या हल https://stackoverflow.com/questions/122404/how-to-copy-and-paste-code-without-rich-text-formatting

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.