LogWert v1.1
This commit is contained in:
parent
e8fd720216
commit
979db61f93
115
logwert.ps1
115
logwert.ps1
@ -1,6 +1,9 @@
|
|||||||
##############################################################
|
#
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################
|
||||||
## ##
|
## ##
|
||||||
## logwert.ps1 version. 1.0 ##
|
## logwert.ps1 version. 1.1 ##
|
||||||
## ##
|
## ##
|
||||||
## Dies ist ein Hilfsscript fuer _shares_spiegeln.bat ##
|
## Dies ist ein Hilfsscript fuer _shares_spiegeln.bat ##
|
||||||
## und der Nachfolger des CMD-Scriptes "logwert.cmd", ##
|
## und der Nachfolger des CMD-Scriptes "logwert.cmd", ##
|
||||||
@ -16,11 +19,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################### Variablen Declaration ###############################################
|
################################### Einstellungen ####################################################
|
||||||
[String]$Global:Log_Copy_Size_Einheit = "GB"
|
|
||||||
|
# b (=Bytes), k (=Kilobytes), m (=Megabytes), g (=Gigabytes) und t (=Terabytes)
|
||||||
|
[String]$Global:Log_Copy_Size_Einheit = "g"
|
||||||
|
|
||||||
|
|
||||||
### Hilfsvariablen NICHT editieren ###
|
################################### Hilfsvariablen NICHT editieren #######################################
|
||||||
|
|
||||||
[Double]$Global:zLog_Copy_errors = 0
|
[Double]$Global:zLog_Copy_errors = 0
|
||||||
[Double]$Global:zLog_Copy_Size = 0
|
[Double]$Global:zLog_Copy_Size = 0
|
||||||
@ -31,82 +36,85 @@
|
|||||||
################################### Functionen ##########################################################
|
################################### Functionen ##########################################################
|
||||||
|
|
||||||
function Log_Start ([String]$sLogPfad){
|
function Log_Start ([String]$sLogPfad){
|
||||||
If(Test-Path $sLogPfad) {
|
If(Test-Path $sLogPfad) { #Testen Ob Datei Existiert
|
||||||
$tmp = ""
|
$tmp = ""
|
||||||
$tmp = Get-Content $sLogPfad
|
$tmp = Get-Content $sLogPfad #Inhalt in Array
|
||||||
$tmp | ForEach-Object { Log_Main $_ }
|
$tmp | ForEach-Object { Log_Main $_ } #Jede Zeile des 1D Arrays einzeln Bearbeiten
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} #Starte Verarbeitung
|
||||||
|
|
||||||
function Log_Main ([String]$sLine){
|
function Log_Main ([String]$sLine){
|
||||||
#Zeilenweise auswertung
|
|
||||||
|
|
||||||
while(" ".Equals($sLine.Substring(0,1))) {$sLine = $sLine.Substring(1, $sLine.Length - 1)}
|
|
||||||
while("`"".Equals($sLine.Substring(0,1))) {$sLine = $sLine.Substring(1, $sLine.Length - 1)}
|
|
||||||
while(" ".Equals($sLine.Substring($sLine.Length - 1,1))) {$sLine = $sLine.Substring(0, $sLine.Length - 1)}
|
|
||||||
|
|
||||||
#Trenn Zeichen Setzen
|
#Trenn Zeichen Setzen
|
||||||
$sLine = $sLine.replace("`"", "#")
|
$sLine = $sLine.replace("`"", "#")
|
||||||
$sLine = $sLine.replace(",", "#")
|
$sLine = $sLine.replace(",", "#")
|
||||||
$sLine = $sLine.replace(":", "#")
|
$sLine = $sLine.replace("Insgesamt:", "")
|
||||||
|
|
||||||
#Entferne Problemeverursachende Zeichen
|
#Anomalien ausschließen
|
||||||
$sLine = $sLine.replace(")", "+")
|
while(" ".Equals($sLine.Substring(0,1))) {$sLine = $sLine.Substring(1, $sLine.Length - 1)} #Wenn String Mit Lehrzeichen beginnt entfernen
|
||||||
$sLine = $sLine.replace("(", "+")
|
while("#".Equals($sLine.Substring(0,1))) {$sLine = $sLine.Substring(1, $sLine.Length - 1)} #Wenn String Mit Trenzeichen beginnt entfernen
|
||||||
|
while(" ".Equals($sLine.Substring($sLine.Length - 1,1))) {$sLine = $sLine.Substring(0, $sLine.Length - 1)} #Wenn String Mit Lehrzeichen endet entfernen
|
||||||
|
while("#".Equals($sLine.Substring($sLine.Length - 1,1))) {$sLine = $sLine.Substring(0, $sLine.Length - 1)} #Wenn String Mit Trenzeichen endet entfernen
|
||||||
|
while($sLine.IndexOf("##") -gt -1 ) {$sLine = $sLine.Replace("##", "#")} #Mehrere hintereinander folgende Trenzeichen entfernen
|
||||||
|
while($sLine.IndexOf(" ") -gt -1 ) {$sLine = $sLine.Replace(" ", " ")} #Mehrere hintereinander folgende Lehrzeichen entfernen
|
||||||
|
|
||||||
$sLine.Split("#") | ForEach-Object { WichCase $_ }
|
$sLine.Split("#") | ForEach-Object { WichCase $_ }
|
||||||
}
|
} #Zeilenweise auswertung
|
||||||
|
|
||||||
function WichCase ([String]$sTocken) {
|
function WichCase ([String]$sToken) {
|
||||||
$aTocken = ""
|
if( -not ("".Equals("$sToken") -and " ".Equals("$sToken"))) {
|
||||||
while(" ".Equals($sTocken.Substring(0,1))) {$sTocken = $sTocken.Substring(1, $sTocken.Length - 1)} #Lehrzeichen vor werten entvernen
|
while(" ".Equals($sToken.Substring(0,1))) {$sToken = $sToken.Substring(1, $sToken.Length - 1)} #Lehrzeichen vor werten entfernen
|
||||||
while(" ".Equals($sTocken.Substring($sTocken.Length - 1,1))) {$sTocken = $sTocken.Substring(0, $sTocken.Length - 1)} #Lehrzeichen nach werten entvernen
|
while(" ".Equals($sToken.Substring($sToken.Length - 1,1))) {$sToken = $sToken.Substring(0, $sToken.Length - 1)} #Lehrzeichen nach werten entfernen
|
||||||
while($sTocken.IndexOf(" ") -gt -1 ) {$sTocken = $sTocken.Replace(" ", " ")} #Mehrere hintereinander volgende Lehrzeichen entvernen
|
|
||||||
|
|
||||||
$aTocken = $sTocken.Split(" ")
|
$aToken = $sToken.Split(" ")
|
||||||
|
|
||||||
# Count_Copy_errors
|
# Count_Copy_errors
|
||||||
If("Fehler".Equals($aTocken[1])) {
|
If("Fehler".Equals($aToken[1])) {
|
||||||
[Double]$Global:zLog_Copy_errors = [Double]$Global:zLog_Copy_errors + $aTocken[0]
|
if ($aToken[0] -notmatch "[a-z]") {
|
||||||
|
[Double]$Global:zLog_Copy_errors = [Double]$Global:zLog_Copy_errors + $aToken[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Count_Items
|
# Count_Items
|
||||||
If("von".Equals($aTocken[1]) -and ("Dateien".Equals($aTocken[3]))) {
|
ElseIf("von".Equals($aToken[1]) -and ("Dateien".Equals($aToken[3]))) {
|
||||||
[Double]$Global:zLog_Copy_item = [Double]$Global:zLog_Copy_item + $aTocken[2]
|
if (($aToken[0] -notmatch "[a-z]") -and ($aToken[2] -notmatch "[a-z]")) {
|
||||||
[Double]$Global:zLog_Copy_real_item = [Double]$Global:zLog_Copy_real_item + $aTocken[0]
|
[Double]$Global:zLog_Copy_item += $aToken[2]
|
||||||
|
[Double]$Global:zLog_Copy_real_item += $aToken[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Count_Size
|
# Count_Size
|
||||||
If("von".Equals($aTocken[2]) -and ("kopiert".Equals($aTocken[5])) ) {
|
ElseIf("von".Equals($aToken[2]) -and ("kopiert".Equals($aToken[5])) ) {
|
||||||
[Double]$Global:zLog_Copy_Size = [Double]$Global:zLog_Copy_Size + (Calc_Bite_Sice $aTocken[3] $aTocken[4] b)
|
if (($aToken[0] -notmatch "[a-z]") -and ($aToken[3] -notmatch "[a-z]")) {
|
||||||
[Double]$Global:zLog_Copy_real_Size = [Double]$Global:zLog_Copy_real_Size + (Calc_Bite_Sice $aTocken[0] $aTocken[1] b)
|
[Double]$Global:zLog_Copy_Size += (Calc_Byte_Sice $aToken[3] $aToken[4] b)
|
||||||
|
[Double]$Global:zLog_Copy_real_Size += (Calc_Byte_Sice $aToken[0] $aToken[1] b)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} #Übergabe der Zeile; Auswertung; Speicherung in Globale Variablen
|
} #Übergabe der Zeile; Auswertung; Speicherung in Globale Variablen
|
||||||
|
|
||||||
function Calc_Bite_Sice ([Double]$Wert, [String]$EinheitEingabe, [String]$EinheitAusgabe ) {
|
function Calc_Byte_Sice ([Double]$Wert, [String]$EinheitEingabe, [String]$EinheitAusgabe ) {
|
||||||
|
|
||||||
#Calc_Bite_Sice: [Wert] [Einheit-Ausgabe] [Einheit-Eingabe]
|
#Calc_Byte_Sice: [Wert] [Einheit-Ausgabe] [Einheit-Eingabe]
|
||||||
# Wenn bei Einheit etwas anderes als KB,MB,GB,TB eingebeben Wird, Wird mit Bites gerechnet
|
# Wenn bei Einheit etwas anderes als KB,MB,GB,TB eingebeben Wird, Wird mit Bytes gerechnet
|
||||||
|
|
||||||
#fertieren der unterschiedlichen Groeßenangaben (umrechnungseinheit= 1024)
|
#fertieren der unterschiedlichen Groeßenangaben (umrechnungseinheit= 1024)
|
||||||
# b (=Bytes), k (=Kilobytes), m (=Megabytes), g (=Gigabytes) und t (=Terabytes)
|
# b (=Bytes), k (=Kilobytes), m (=Megabytes), g (=Gigabytes) und t (=Terabytes)
|
||||||
|
|
||||||
If("".Equals("$sWert") -and "0".Equals("$sWert")) {return 0} else {
|
If("".Equals("$Wert") -and "0".Equals("$Wert")) {return 0} else {
|
||||||
|
|
||||||
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("K","k")
|
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("K","k")
|
||||||
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("M","g")
|
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("M","m")
|
||||||
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("G","g")
|
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("G","g")
|
||||||
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("T","g")
|
$EinheitEingabe = ($EinheitEingabe.substring(0,1)).replace("T","t")
|
||||||
|
|
||||||
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("K","k")
|
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("K","k")
|
||||||
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("M","g")
|
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("M","m")
|
||||||
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("G","g")
|
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("G","g")
|
||||||
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("T","g")
|
$EinheitAusgabe = ($EinheitAusgabe.substring(0,1)).replace("T","t")
|
||||||
|
|
||||||
|
# Abfangen von Größenangaben die es nicht giebt/die nicht behandelt werden
|
||||||
If ( -not ("k".Equals("$EinheitAusgabe") -or "m".Equals("$EinheitAusgabe") -or "g".Equals("$EinheitAusgabe") -or "t".Equals("$EinheitAusgabe"))) {$EinheitAusgabe = "b"}
|
If ( -not ("b".Equals("$EinheitAusgabe") -or "k".Equals("$EinheitAusgabe") -or "m".Equals("$EinheitAusgabe") -or "g".Equals("$EinheitAusgabe") -or "t".Equals("$EinheitAusgabe"))) {$EinheitAusgabe = "else"}
|
||||||
If ( -not ("k".Equals("$EinheitEingabe") -or "m".Equals("$EinheitEingabe") -or "g".Equals("$EinheitEingabe") -or "t".Equals("$EinheitEingabe"))) {$EinheitEingabe = "b"}
|
If ( -not ("b".Equals("$EinheitEingabe") -or "k".Equals("$EinheitEingabe") -or "m".Equals("$EinheitEingabe") -or "g".Equals("$EinheitEingabe") -or "t".Equals("$EinheitEingabe"))) {$EinheitEingabe = "else"}
|
||||||
|
|
||||||
switch("$EinheitEingabe") {
|
switch("$EinheitEingabe") {
|
||||||
|
|
||||||
@ -118,11 +126,13 @@ function Calc_Bite_Sice ([Double]$Wert, [String]$EinheitEingabe, [String]$Einhei
|
|||||||
|
|
||||||
"t" {$Wert = $Wert * 1099511627776}
|
"t" {$Wert = $Wert * 1099511627776}
|
||||||
|
|
||||||
|
"else" {$Wert = 0 }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch("$EinheitAusgabe") {
|
switch("$EinheitAusgabe") {
|
||||||
|
|
||||||
#"b" {$Wert = [math]::round($Wert, 0)}
|
"b" {$Wert = [math]::round($Wert, 0)}
|
||||||
|
|
||||||
"k" {$Wert = $Wert / 1024}
|
"k" {$Wert = $Wert / 1024}
|
||||||
|
|
||||||
@ -132,20 +142,23 @@ function Calc_Bite_Sice ([Double]$Wert, [String]$EinheitEingabe, [String]$Einhei
|
|||||||
|
|
||||||
"t" {$Wert = $Wert / 1099511627776}
|
"t" {$Wert = $Wert / 1099511627776}
|
||||||
|
|
||||||
|
"else" {$Wert = 0 }
|
||||||
|
|
||||||
}
|
}
|
||||||
return $Wert
|
return $Wert
|
||||||
}
|
}
|
||||||
} #[Wert] [Einheit-Ausgabe] [Einheit-Eingabe]
|
} #[Wert] [Einheit-Ausgabe] [Einheit-Eingabe]
|
||||||
|
|
||||||
###################################################################################
|
##########################################################################################################
|
||||||
|
|
||||||
#for each param do start(param)
|
#for each param do start(param)
|
||||||
$args | ForEach-Object { Log_Start $_ }
|
$args | ForEach-Object { Log_Start $_ }
|
||||||
|
|
||||||
[String]$sLog_Copy_errors = "$Global:zLog_Copy_errors"
|
[String]$sLog_Copy_errors = "$Global:zLog_Copy_errors"
|
||||||
[String]$sLog_Copy_Size = [math]::round((Calc_Bite_Sice $Global:zLog_Copy_Size b $Global:Log_Copy_Size_Einheit), 2)
|
[String]$sLog_Copy_Size = [math]::round((Calc_Byte_Sice $Global:zLog_Copy_Size b $Global:Log_Copy_Size_Einheit), 2)
|
||||||
[String]$sLog_Copy_real_Size = [math]::round((Calc_Bite_Sice $Global:zLog_Copy_real_Size b $Global:Log_Copy_Size_Einheit), 2)
|
[String]$sLog_Copy_real_Size = [math]::round((Calc_Byte_Sice $Global:zLog_Copy_real_Size b $Global:Log_Copy_Size_Einheit), 2)
|
||||||
[String]$sLog_Copy_item = "$Global:zLog_Copy_item"
|
[String]$sLog_Copy_item = "$Global:zLog_Copy_item"
|
||||||
[String]$sLog_Copy_real_item = "$Global:zLog_Copy_real_item"
|
[String]$sLog_Copy_real_item = "$Global:zLog_Copy_real_item"
|
||||||
|
[String]$sLog_Copy_Size_Einheit = "$Global:Log_Copy_Size_Einheit"
|
||||||
|
|
||||||
echo "Insgesamt: $sLog_Copy_real_item von $sLog_Copy_item Dateien kopiert, $sLog_Copy_errors Fehler, $sLog_Copy_real_Size g von $sLog_Copy_Size g kopiert"
|
echo "Insgesamt: $sLog_Copy_real_item von $sLog_Copy_item Dateien kopiert, $sLog_Copy_errors Fehler, $sLog_Copy_real_Size $sLog_Copy_Size_Einheit von $sLog_Copy_Size $sLog_Copy_Size_Einheit kopiert"
|
||||||
|
Loading…
Reference in New Issue
Block a user