none
Verzeichnisscript - Logfiles vergleichen und auswerten RRS feed

  • Frage

  • Hallo zusammen

    Um Änderungen in den Parentfolders zu erkennen, lasse ich ein Script durchlaufen, das alle Ordner bis zur dritten Ebene in ein Logfile speichert. Das erste Logfile ist sozusagen das Original, da in diesem Logfile die Ordnerstruktur stimmt. Nun habe ich ein Script erstellt, das nochmal die Verzeichnisse durchsucht und in ein zweites Logfile speichert. Nun will ich, das das erste Logfile (Original/Standard) mit dem neu erstellten Logfile verglichen wird. Ein drittes Logfile soll erscheinen, um Änderungen zu erkennen.

    Der Quellcode bis jetzt:

    gci G:\*\*\* -filter * |

    ? { $_.PSisContainer -eq $true} |

    % {$_.fullname -replace "\\","`t" } |

    sort | out-file C:\Users\Benutzer1\Desktop\TestScript\LogFile.txt

    compare ((Get-Content "C:\Users\Benutzer1\Desktop\Standard.txt") -replace "(\s)+",'$1') ((Get-Content "C:\Users\Benutzer1\Desktop\TestScript\LogFile.txt") -replace "(\s)+",'$1')

    sort | out-file C:\Users\Benutzer1\Desktop\TestScript\LogFileVergleich.txt

    Problem:

    Wenn ich es in der PowerShell ISE durchlaufen lasse, werden Änderungen angezeigt. Jedoch schreibt es diese Änderungen nicht in das dritte gewünschte Logfile. Wieso nicht? Kann mir da jemand behilflich sein?

    Wäre sehr dankbar für schnelle Antworten.


    Montag, 14. November 2016 13:37

Antworten

Alle Antworten

  • Wenn das wirklich Dein Code ist und Du beim Kopieren und hier Einfügen keinen Fehler gemacht hast, würde ich sagen, dass in Deinem Code die Pipe hinter Deinem 'compare' fehlt.

    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    Montag, 14. November 2016 14:07
  • > keinen Fehler gemacht hast, würde ich sagen, dass in Deinem Code die
    > Pipe hinter Deinem 'compare' fehlt.
     
    Ich auch :)
     
    Und ich würde den Code umstrukturieren, damit er "übersichtlicher" wird.
     
    Montag, 14. November 2016 14:13
  • Hallo:)

    Wenn ich eine Pipe hinter dem "compare" hinzufüge, funktioniert das Script gar nicht. Es vergleicht die Files gar nicht miteinander.

    Gruss

    Montag, 14. November 2016 15:51
  • Hallo:)

    Ja klar, werde ich machen aber bringt ja nichts wenn das Script trotzdem nicht funktioniert. Leider klappt das noch immer nicht, auch wenn ich ein Pipezeichen hinter dem "Compare" hinzufüge.

    Gruss

    Montag, 14. November 2016 15:52
  • Du hast die Pipe am Ende der Zeile angefügt, richtig?

    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    Montag, 14. November 2016 16:03
  • Alles klar, vielen Dank:)

    Habe es hinter dem "compare" geschrieben.

    Vielen Dank euch:)

    Dienstag, 15. November 2016 10:30
  • Spitze.

    Wenn Du jetzt noch die Antwort als Lösung markierst, die Dir geholfen hat, hilfst Du damit auch anderen.   ... und wenn Du dann noch beim nächsten Mal Deinen Code hier auch als Code formatierst, wird irgendwann noch ein richtig guter Scripter aus Dir!  ;-)


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    Dienstag, 15. November 2016 11:07