“Ekstra Dosya” ve “% 100” satırlarını robokopi çıktısından nasıl gizlerim?


17

Her gece çalışan fırın depolarımızı yedeklemek için bir robocopy komut dosyası var, bu böyle bir şey görünüyor:

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

Çıktıda, "Ekstra dosya" ları içeren bir ton satır vardır, şöyle:

*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

Ayrıca, altta "% 100" lerden başka hiçbir şey içermeyen yüzlerce satır vardır, şöyle:

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

Günlük dosyalarını muazzam hale getirmenin yanı sıra (Fırın depolarında çok sayıda klasör / dosya var), günlükleri taramak ve sonra her şeyin yolunda olup olmadığını görmek sinir bozucu hale getiriyor.

  1. Günlükte "Ekstra Dosyalar" ın görünmesini nasıl durdurabilirim? (edit: yalnızca / NC olarak metin durmaz, satırların tamamı durur)
  2. Bu saçma "% 100" satırlarının günlükte görünmesini nasıl durdurabilirim?

Düşünebileceğim her anahtar kombinasyonunu denedim (mevcut anahtarlar komutta yukarıda listelenmiştir), ancak ikisi de bunları gizlemiyor gibi görünüyor!


Ss64.com/nt/robocopy.html dosyasına göre çalışıyor olmalıdır. Belgeleri yansıtmak için parametre sırasını değiştirmeyi denediniz mi? Bu şöyle olur: / L / NP / LOG: dosya / UNILOG: dosya / LOG +: dosya / UNILOG +: dosya / TS / FP / NS / NC / NFL / NDL / TEE / NJH / NJS
Luiz Angelo

Yanıtlar:


8

Sadece orada bir / NC eksik fark ettim.

/ NC: Sınıf yok - dosya sınıflarını günlüğe kaydetme.

Sınıf dosyaları ... Robocopy tweaked, lonely ve extra ile ne anlama geliyor?

Bu yüzden denerim: robocopy "$ liveRepoLocation" "$ cloneRepoLocation" / MIR / MT / W: 3 / R: 100 / NP /LOG:"$backupLogLocation\BackupKiln.txt "/ NC

Düzenle 1

Benim hatam. Zaten denemekten bahsettiğini görmedim / NC

Burada test ettim. / MIR seçeneği günlük seçeneklerini yok sayar. Ayrıca / MT% 100 ekleyerek dağıtır.

Çalışmanın tek yolu şuydu:

D: \ robocopy> robokopi kaynak hedefi / MIR / W: 3 / R: 100 / NS / NC / NFL / NDL / NP /LOG:log.txt ".

* Aslında / MIR ile çalışır. Ama / NFL ve /NDL.* belirtmelisiniz . Bunun sizin için kabul edilebilir olup olmadığını bilmiyorum.

/ MT'yi denerseniz, yine de aptal% 100'ü gösterecektir.

Düzenle 2

Sorunun Robocopy ile ilgili olduğunu biliyorum ama RichCopy'yi denemelisiniz bence http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx

İşte komut satırı:

richcopy "D: \ robocopy \ source" "D: \ robocopy \ destination" / P / QO / QP "D: \ robocopy \ report.log" / UE / ABD / UD / UPC / UFC / USC / UPR / UET

RichCopy'nin GUI'sini başlatır ve bittiğinde kapanır.

Ve işte kütük

28/11/2012 11: 35: 19,0, Kopyalama başlangıcı,

28/11/2012 11: 35: 20,0, Kaynak yolu: D: \ robocopy \ kaynak,

28/11/2012 11: 35: 20,0, Hedef yolu: d: \ robocopy \ hedef,

28/11/2012 11: 35: 20,0, Kaynak dosya sayısı: 12 dosya,

28/11/2012 11: 35: 20,0, Kopyalanan dosya sayısı: 13 dosya,

28/11/2012 11: 35: 20,0, Temizlenen dosya sayısı: 1.224 dosya,

28/11/2012 11: 35: 20,0, Geçen süre: 00:00:01,

28/11/2012 11: 35: 20,0, Ortalama performans: 1.641.528 bayt / sn,

28/11/2012 11: 35: 20,0, Ortalama performans: 13 dosya / sn,

28/11/2012 11: 35: 20,0, Kopyalama tamamlandı, D: \ robocopy \ kaynak


1
/ NC "Ekstra Dosya" sütununu kaldırır, böylece metin gösterilmez. Hattın geri kalanı hala dahil. Çizgiyi hiç istemiyorum; Ben sadece özeti istiyorum :(
Danny Tuppeny

Benim hatam. Bundan daha önce bahsettiğini görmedim. Burada test ettim. / MIR seçeneği günlük seçeneklerini yok sayar. Ayrıca / MT bunu berbat eder. Çalışmanın tek yolu "D: \ robocopy> robokopi kaynak hedefi / MIR / W: 3 / R: 100 / NS / NC / NFL / NDL / NP /LOG:log.txt" idi. / MT'yi denerseniz, yine de saçma% 100'ü gösterecektir.
Luiz Angelo

1
% 100'ler en kötü kısımdır (ekstra dosyalardan çok daha fazlası); MT bunu yaptı fark etmedi, bu yüzden eğer büyük bir fayda vermiyorsa kaldırabilirsiniz!
Danny Tuppeny

Bunu%
100'lere

Orijinal cevabımı yeni düzenledim. Sadece yeni bir yorum yayınlamak, böylece kaçırmayacaksınız.
Luiz Angelo

5

Bu /XXseçenek, fazladan dosyaların listelenmesini hariç tutar. Sapıklıkla, bu seçenek File Selectionseçeneklerde listelenir , değil Logging. /XGünlüğe kaydetme seçeneğinin tam tersi, sanırım.


1
/ XX'nin ekstra dosyaları seçmenizi engellediğine inanıyorum ve / X yalnızca günlük kaydı içindir, ancak DAHA FAZLA ekstra dosya görüntülemenize izin verir! / XX benim için hile yaptı.
sonjz

1
-1, çünkü / XX yansıtma işleminden beklendiği gibi fazladan dosyayı silmek yerine hedefe bırakır.
mark

3

Bunun işe yarayabileceğini düşünüyorum:

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

Bu nedenle, belirtilen metni "* Ekstra Dosya" içeren satırları hariç tutmak için çıktıyı / V ile "bulmak" için kullanın.


% İlerleme durumunu (% 0 ila% 100 sayacı) yalnızca günlükten nasıl hariç tutarsınız (ancak yine de konsolda görünür)?
PeterCo

0

anahtarları kullanmaya ne dersin

 /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"

yani sahipsin

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"
  • %% çiftinin arama dizesinde% değerinin olması gerekir
  • 2> & 1 Stdout'a yönlendirmeleri Stderr akışını bazı iletiler stderr yazılı ve biz gibi bu satırları yakalamak istediğiniz çünkü / LOG anahtarı yok.
  • / v anahtarıyla birlikte 2 findstr komutu, arama dizesini içermeyen tüm satırları bulur
  • > "Günlük dosya adı" sizin günlük dosyasına nihai çıkış yönlendirir. Normalde / LOG: + kullanırsanız, bunun yerine >> "log dosya adı" nı kullanın

Notlar: Bunu, göründüğü gibi bir powershell betiğinde kullanıyorsanız, bir .bat veya .cmd dosyasında olduğu gibi bulmak yerine findstr kullanmanız gerekir. / L ve / C: find tarafından desteklenmez, ancak find komutu için gerekli değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.