RPT per PowerShell anzeigen und live verfolgen

    • Tut- Diskussionen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • RPT per PowerShell anzeigen und live verfolgen

      Ich bin nicht selbst der Ersteller des unten stehenden Tutorials, sondern jemand, der von der Sache etwas versteht: [W] - fusel!

      fusel schrieb:

      Ist gerade als 5-Minuten-Abfallprodukt entstanden, vielleicht hilft es jemandem: Die nachfolgende Funktion sucht die neueste RPT und zeigt deren Inhalt an. Dies kann man mit den Parametern Follow und Tail noch verfeinern:

      -Follow
      Zeigt alle weiteren Änderungen an, genau wie das Linux tail-Command. So kann die RPT live verfolgt werden

      -Tail
      Es werden nur die letzten N Zeilen angezeigt. -1 zeigt alle Zeilen an, 0 keine, jede Zahl > 0 dann die entsprechende Anzahl

      Beide Parameter sind optional, können einzeln oder auch kombiniert benutzt werden.




      Brainfuck-Quellcode

      1. Function Get-Arma3Rpt
      2. {
      3. Param
      4. (
      5. [switch]
      6. $Follow,
      7. [int]
      8. $Tail = -1
      9. )
      10. $file = (Get-ChildItem "$env:LOCALAPPDATA\Arma 3\" -Filter "*.rpt" | sort LastWriteTime -Descending)[0]
      11. if(Test-Path -PathType Leaf $file.FullName)
      12. {
      13. if($Follow)
      14. {
      15. Write-Output "----------------------"
      16. Write-Output " Press CTRL+C to exit "
      17. Write-Output "----------------------"
      18. }
      19. Get-Content -Wait:$Follow -Tail $Tail -Path $file.FullName
      20. }
      21. else
      22. {
      23. Throw [System.IO.FileNotFoundException] "No RPT found"
      24. }
      25. }
      Alles anzeigen

      Wer es jetzt besonders komfortabel mag, legt sich das Ganze in seinem PowerShell-Profil ab, das sich normalerweise hier befindet: %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

      Die Datei entweder mit einem Editor öffnen oder ggf. neu anlegen. In die Datei kopiert ihr obige Funktion, zusätzlich darunter bei Bedarf noch einen Alias:

      Quellcode

      1. Set-Alias rpt Get-Arma3Rpt


      Nachdem all das erledigt ist, öffnet ihr einfach ein (neues) PowerShell-Fenster und führt dann

      Quellcode

      1. rpt
      (Wer keinen Alias angelegt hat: Get-Arma3Rpt) oder

      Quellcode

      1. rpt -Follow
      oder

      Quellcode

      1. rpt -Tail 50
      oder

      Quellcode

      1. rpt -Follow -Tail 50
      aus.

      Wenn das nicht funktionieren sollte, liegt das in der Regel an der ExecutionPolicy (Google). Dazu einmalig PowerShell als Admin starten und folgendes eintippen:

      Quellcode

      1. Set-ExecutionPolicy RemoteSigned
      Damit dürfen unsignierte PowerShell-Scripts von eurer lokalen Festplatte ausgeführt werden.

      Viel Spaß, Feedback wäre nett

      PS: Script in 5 Minuten geschrieben, dieser Post hat 10 Minuten gefressen :)

      Ich selbst kann keine Fragen qualifiziert beantworten, werde aber fusel auf diesen Beitrag aufmerksam machen. Wer bezüglich des Scriptes in direkte Kommunikation mit fusel kommen will, dem/der empfehle ich auf unserem Discord vorbei zu schauen.
      "Um ein tadelloses Mitglied einer Schafherde sein zu können, muss man vor allem ein Schaf sein."
      Albert Einstein