मैं रोबोकॉपी आउटपुट से "अतिरिक्त फ़ाइल" और "100%" लाइनें कैसे छिपा सकता हूं?


17

मेरे पास रात को चलने वाली हमारी भट्ठा रिपॉजिटरी का बैकअप लेने के लिए एक रोबोकॉपी स्क्रिप्ट है, जो कुछ इस तरह दिखती है:

robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /LOG:"$backupLogLocation\BackupKiln.txt" /NFL /NDL /NP

आउटपुट में, एक टन लाइनें होती हैं जिनमें "अतिरिक्त फ़ाइल" होती है, जैसे:

*EXTRA File              153    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdt
*EXTRA File               12    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdx
*EXTRA File              128    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fnm
*EXTRA File              363    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.frq
*EXTRA File               13    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.nrm

इसके अतिरिक्त, नीचे सैकड़ों लाइनें हैं जिनमें "100%" के अलावा कुछ नहीं है, जैसे:

100%  
100%  
100%  
100%  
100%  
100%  
100%  

लॉग फ़ाइलों को विशाल बनाने के अलावा (किल्न रेपो में बहुत सारे फोल्डर / फाइलें हैं), यह अब लॉग के माध्यम से स्कैन करने के लिए कष्टप्रद बनाता है और फिर यह देखने के लिए कि क्या सब कुछ ठीक काम कर रहा था।

  1. मैं लॉग में दिखाई देने वाली "अतिरिक्त फाइलें" कैसे रोकूं? (संपादित करें: संपूर्ण पंक्तियाँ, न कि केवल पाठ के रूप में / NC रुकेगी)
  2. मैं लॉग में दिखाई देने वाली इन "मूर्ख" 100% लाइनों को कैसे रोकूं?

मैंने स्विच के हर संयोजन की कोशिश की है जो मैं सोच सकता हूं (वर्तमान स्विच कमांड में ऊपर सूचीबद्ध हैं), लेकिन न तो इन को छिपाने के लिए लगता है!


Ss64.com/nt/robocopy.html के अनुसार यह काम करना चाहिए। क्या आपने प्रलेखन को दर्पण करने के लिए परिमों के क्रम को बदलने की कोशिश की है? यह होगा: / L / NP / LOG: फ़ाइल / UNILOG: फ़ाइल / LOG +: फ़ाइल / UNILOG +: फ़ाइल / TS / FP / NS / NC / NDL / TEE / NJH / NJS
लुइस एंजेलो

जवाबों:


8

बस आपने वहां / NC को याद किया है।

/ NC: कोई वर्ग नहीं - फ़ाइल वर्ग लॉग न करें।

क्लास की फाइलें हैं ... लुटेरा का मतलब क्या होता है ट्वीक, अकेला और अतिरिक्त?

तो मैं कोशिश करूँगा: robocopy "$ liveRepoLocation" "$ cloneRepoLocation" / MIR / MT / W: 3 / R: 100 / NP /LOG:"$backLogLocation\BacketKiln.txt "/ NC

संपादित करें 1

मेरी गलती। यह नहीं देखा कि आप पहले से ही कोशिश कर रहे थे / नेकां

मैंने यहां परीक्षण किया है। ऐसा लगता है कि / MIR विकल्प लॉगिंग विकल्पों की उपेक्षा करता है। साथ ही 100% जोड़ते हुए MT / इसे गड़बड़ कर देता है।

मुझे काम करने का एकमात्र तरीका था

D: \ robocopy> robocopy source गंतव्य / MIR / W: 3 / R: 100 / NS / NC / NFL / NDL / NP /LOG:log.txt "।

* यह वास्तव में / MIR के साथ काम करता है। लेकिन आपको निर्दिष्ट करना होगा / NFL और /NDL.* पता नहीं कि आपके लिए यह स्वीकार्य है या नहीं।

यदि आप प्रयास करें / एमटी, यह अभी भी मूर्खतापूर्ण 100% दिखाएगा

संपादित करें २

मैं जानता हूँ कि प्रश्न लड़ी के बारे में था, लेकिन मुझे लगता है कि आप RichCopy एक कोशिश देना चाहिए http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx

यहाँ कमांड लाइन है:

रिचकॉपी "D: \ robocopy \ source"

यह रिचकोपी की GUI शुरू करता है और जब किया जाता है तो बंद हो जाता है।

और यहाँ लॉग है

28/11/2012 11: 35: 19,0, प्रतिलिपि प्रारंभ,

28/11/2012 11: 35: 20,0, स्रोत पथ: D: \ robocopy \ स्रोत,

28/11/2012 11: 35: 20,0, गंतव्य पथ: d: \ robocopy \ गंतव्य,

28/11/2012 11: 35: 20,0, स्रोत फ़ाइल गणना: 12 फाइलें,

28/11/2012 11: 35: 20,0, कॉपी की गई फ़ाइल की संख्या: 13 फाइलें,

28/11/2012 11: 35: 20,0, शुद्ध फ़ाइल गणना: 1,224 फाइलें,

28/11/2012 11: 35: 20,0, बीता समय: 00:00:01,

28/11/2012 11: 35: 20,0, औसत प्रदर्शन: 1,641,528 बाइट्स / सेकंड,

28/11/2012 11: 35: 20,0, औसत प्रदर्शन: 13 फाइलें / सेकंड,

28/11/2012 11: 35: 20,0, कॉपी कम्प्लीट, डी: \ रोबोकॉपी \ _ स्रोत


1
/ नेकां केवल "अतिरिक्त फ़ाइल" कॉलम को हटाता है, इसलिए पाठ नहीं दिखाया गया है। शेष पंक्ति अभी भी शामिल है। मुझे लाइन बिलकुल नहीं चाहिए; मैं सिर्फ सारांश चाहता हूं :(
डैनी टूपेनी

मेरी गलती। नहीं देखा था कि आप पहले से ही उल्लेख किया था। मैंने यहां परीक्षण किया है। ऐसा लगता है कि / MIR विकल्प लॉगिंग विकल्पों की उपेक्षा करता है। साथ ही / MT इसे गड़बड़ कर देता है। मेरे काम करने का एकमात्र तरीका "D: \ robocopy> robocopy source गंतव्य / MIR / W: 3 / R: 100 / NS / NC / NFL / NDL / NP /LOG:log.txt" था। यदि आप कोशिश करते हैं / एमटी, यह अभी भी मूर्खतापूर्ण 100% दिखाएगा।
लुइज एंजेलो

1
100% सबसे खराब हिस्सा हैं (अतिरिक्त फ़ाइलों की तुलना में कहीं अधिक); महसूस नहीं किया गया था कि एमटी यह कर रहा है, इसलिए इसे हटा सकता है कि अगर यह बहुत बड़ा लाभ नहीं दे रहा है!
डैनी टुप्पेनी

इसे सही मानकर इसे 100% के समाधान के रूप में चिह्नित करें, और मुझे नहीं लगता कि "अतिरिक्त फ़ाइल" का कोई समाधान है / MIR के साथ लॉगिंग :(
डैनी Tupeny

मैंने अभी अपना मूल उत्तर संपादित किया है। बस एक नई टिप्पणी पोस्ट करना ताकि आप इसे याद न करें।
लुइज एंजेलो

5

/XXविकल्प में सूचीबद्ध होने से शामिल नहीं अतिरिक्त फ़ाइलों। व्यापक रूप से, यह विकल्प File Selectionविकल्पों में सूचीबद्ध है , नहीं Logging। यह /Xलॉगिंग विकल्प के विपरीत है , मुझे लगता है।


1
मेरा मानना ​​है कि / XX आपको अतिरिक्त फ़ाइलों का चयन करने से रोकता है, और / X केवल लॉगिंग के लिए है, लेकिन आप EVEN MORE अतिरिक्त फ़ाइलों को प्रदर्शित करने की अनुमति देता है! / XX ने मेरे लिए चाल चली।
सोनाज

1
-1, क्योंकि / XX, मिररिंग प्रक्रिया की अपेक्षा, इसे हटाने के बजाय, गंतव्य पर अतिरिक्त फ़ाइल छोड़ देता है।
अंक

3

मुझे लगता है कि यह काम कर सकता है:

robocopy sourceDir targetDir *.* /njh /njs /ndl /np | find /v "*EXTRA File"

तो बस उन पंक्तियों को छोड़कर "वी" के साथ आउटपुट को पाइप करें, जिसमें निर्दिष्ट टेक्स्ट "* एक्स्ट्रा फाइल" हो।


केवल लॉग से% प्रगति (0 से 100% काउंटर) को बाहर कैसे करें (लेकिन अभी भी कंसोल पर दिखाई दे रहा है)?
पीटरको जूल

0

स्विच के उपयोग के बारे में कैसे

 /MIR /MT /W:3 /R:100 /NFL /NDL /NP 2>&1 | findstr /v /L /C:" * EXTRA " | findstr /v /L /C:"100%%" > "log file name with or without path"

मतलब आपके पास है

robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /NFL /NDL /NP 2>&1 | findstr /v /L /C:" * EXTRA " | findstr /v /L /C:"100%%" > "$backupLogLocation\BackupKiln.txt"
  • खोज स्ट्रिंग में%% का डबल होना आवश्यक है
  • 2> & 1 stdout में रीडायरेक्ट stderr धारा क्योंकि कुछ संदेश stderr करने के लिए लिखा जाता है और हम जैसे उन पंक्तियों पर कब्जा करना चाहते हैं / लॉग स्विच करता है।
  • / v स्विच के साथ 2 खोज कमांड सभी पंक्तियों को खोजता है जिसमें खोज स्ट्रिंग नहीं है
  • > "लॉग फ़ाइल नाम" आपकी लॉग फ़ाइल के लिए अंतिम आउटपुट पुनर्निर्देश। यदि आप सामान्य रूप से / लॉग का उपयोग करेंगे : + तो इसके बजाय >> "लॉग फाइलनाम" का उपयोग करें

नोट्स: यदि आप इसे एक पॉवरशेल स्क्रिप्ट में उपयोग कर रहे हैं, जैसे कि आप प्रतीत होते हैं, तो आपको खोजने की आवश्यकता होती है जैसे कि आप इनबेट या .cmd फ़ाइल में ढूँढ सकते हैं। / L और / C पर ध्यान दें: खोज द्वारा समर्थित नहीं हैं, लेकिन खोज आदेश के लिए उन्हें आवश्यक नहीं हैं।

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