Überprüfen der Dateigröße gt 0 in Powershell

Habe ich die Suche nach Hilfe in Bezug auf mein Thema aber nicht finden, etwas in der Nähe, was ich brauche, dann ist hier meine Frage:

Muss ich überprüfen Sie die Größe einer Datei in einem bestimmten Ordner, wenn seine größer als 0 Byte ist, ist das OK um den Prozess fortzusetzen, sonst Abbruch schriftlich eine output-Nachricht und Versand der fail code = 1.

Ich habe versucht, das unten, aber ohne Erfolg auf das schreiben der Nachricht in die log:

$FileExists1 = "D:\TEST\FILE\test.txt"

IF (Test-Path $FileExists1) {
    If ((Get-Item $FileExists1).length -gt 0kb) {
      Write-Output [$(Get-Date)]:" FILE IS OK FOR PROCESSING! - RC = $rc"
    }

Else {
      $rc = 1
      Write-Output [$(Get-Date)]:" FILE HAS 0 BYTES AT D:\TEST\FILE\"
      Write-Output [$(Get-Date)]:" VALIDATION FINISHED - RC = $rc"
      Exit $rc
    }
}

Kennt einer von Euch weiß, was ich tun könnte?

Schätzen Ihre Hilfe!

  • Sie erhalten bessere Antworten auf Ihre Frage, wenn Sie markieren Sie Sie mit der Programmiersprache, die Sie zu Fragen, statt einfach nur "Datei" und "Größe"
  • Danke Ari, nur aktualisiert.
  • Was bedeutet "aber ohne Erfolg auf das schreiben der Nachricht in die log:" bedeuten? Was melden Sie?
  • wenn ich sage, log ich meine die Ausgabe von Write-Output, Im dem das Skript von Autosys, wo habe ich einen output-Ordner zum speichern meiner log, dann löst das mein script und schreibt Nachrichten gibt.
  • Was du gepostet hast funktioniert gut, aber Sie haben nicht gemeinsam, wie Ihr Euch einloggen... ich vermute dein problem ist nicht der code, den Sie angegeben haben.
  • Während Sie "log-Ausgabe" funktioniert, würde ich vorschlagen, Sie nennen es dann besser: Write-Output "[$(Get-Date)]:' FILE HAS 0 BYTES AT D:\TEST\FILE\'". Ihr Problem ist nur die Protokollierung? Dieser code funktioniert außerhalb Autosys?

InformationsquelleAutor DevHawk | 2016-09-02
Schreibe einen Kommentar