Get-content fail

Mitglied: Nxtrex

Nxtrex (Level 1) - Jetzt verbinden

20.01.2021 um 10:10 Uhr, 670 Aufrufe, 17 Kommentare, 1 Danke

Hallo,

ich habe ein Script, dass Text- Dateien durchliest und diese danach umbenennen soll.
Jetzt habe ich das Problem das das Script leider nicht funktioniert.
Bitte um Unterstützung.

Hier das Script (Powershell):

$Dateien=get-childitem c:\Location\test2
$wert1 = @("BMG-Lagerbestand")
$wert2 = @("BMG-Materialbelege")
$wert3 = @("BMG-Lieferungen")
foreach ($wert in $werte)
{
foreach($Datei in $Dateien){

if ((get-content c:\Location\test2\$Datei) -contains $wert1)
{Rename-Item c:\Location\test2\$Datei c:\Location\test2\KON_Bestand_BMG.txt}
else
{echo "nein"}

if ((get-content c:\Location\test2\$Datei) -contains $wert2)
{Rename-Item c:\Location\test2\$Datei c:\Location\test2\KON_WE_BMG.txt}
else
{echo "nein"}

if ((get-content c:\Location\test2\$Datei) -contains $wert3)
{Rename-Item c:\Location\test2\$Datei c:\Location\test2\KON_WA_BMG.txt}
else
{echo "nein"}

}
}

MfG Nick
Mitglied: NordicMike
20.01.2021 um 10:18 Uhr
foreach ($wert in $werte)
$werte ist nicht definiert bzw leer, also wird nichts darunter ausgeführt
Bitte warten ..
Mitglied: Nxtrex
20.01.2021 um 10:19 Uhr
Und wie behebe ich das?
Bitte warten ..
Mitglied: Doskias
20.01.2021, aktualisiert um 10:24 Uhr
Wieso machst du das nicht so wie ich es gestern gepsotet habe?
Wobei so wie du das machst, brauchst du dann foreach ($wert in $werte) gar nicht mehr.
Bitte warten ..
Mitglied: Nxtrex
20.01.2021 um 10:25 Uhr
Weil er dann alle 3 Dateien gleich benennt und die sollen Unterschiedliche Namen bekommen

Er macht nichts und zeig immer den Fehler:

get-content: der pfad ... kann nicht gefunden werden oder existiert nicht. obwohl er existiert
Bitte warten ..
Mitglied: Doskias
20.01.2021 um 10:27 Uhr
Dann lass das foreach Weg, wenn du eh die Werte nicht im Array abbildest.

Sollte auf den ersten Blick so funktionieren. Und beim nächsten Mal bitte 1. Codeklammern nutzen und 2. gleich schreiben was nicht geht. Sonst verliert man die Lust zum helfen.
Bitte warten ..
Mitglied: Nxtrex
20.01.2021 um 10:29 Uhr
Es funktioniert jetzt aber er schmeißt mir diesen Fehler raus:

get-content : Der Pfad "C:\Location\test2\P64.100.FILE.52718.AQA0Z_MCW_SA.JOB..210118.224557.txt" kann nicht gefunden werden, da er nicht vorhanden ist.
In Zeile:13 Zeichen:6

if ((get-content c:\Location\test2\$Datei) -contains $wert2)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : ObjectNotFound: (C:\Location\tes...0118.224557.txt:String) [Get-Content], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
Bitte warten ..
Mitglied: Doskias
20.01.2021 um 10:36 Uhr
Ja ist ja klar. Wenn deine erste IF-Bedingung die Datei umbenennt, dann kann die zweite und dritte die Abfrage nicht mehr ausführen.

das kannst du mit einem test-path abfangen
Bitte warten ..
Mitglied: Nxtrex
20.01.2021 um 10:37 Uhr
Und wie baue ich das am besten ein?
Bitte warten ..
Mitglied: Doskias
LÖSUNG 20.01.2021 um 10:42 Uhr
So sollte es gehen

Bitte warten ..
Mitglied: Nxtrex
20.01.2021 um 10:47 Uhr
Danke das ganze klappt jetzt ohne Fehler und läuft einwandfrei.
Vielen Dank @Doskias
Bitte warten ..
Mitglied: NordicMike
20.01.2021 um 11:20 Uhr
Aber, man merkt, dass deine Lernkurve unten bleibst, weil du fertige Lösungen ersuchst. Gebe dir einen Powershell kurs, sonst bleibst du für immer auf fremde Hilfe angewiesen.
Bitte warten ..
Mitglied: LeeX01
20.01.2021 um 12:45 Uhr
Zitat von @NordicMike:

Aber, man merkt, dass deine Lernkurve unten bleibst, weil du fertige Lösungen ersuchst. Gebe dir einen Powershell kurs, sonst bleibst du für immer auf fremde Hilfe angewiesen.

Warum sollte sich das auch ändern, wenn er doch schnell und kostenlos funktionierende Lösungen bekommt?

"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Bitte warten ..
Mitglied: NordicMike
20.01.2021 um 14:40 Uhr
Gib einem Mann einen Fisch
Diesen Spruch habe ich sogar selbst vor ein paar Tagen hier gebracht. Ich bin selbst so eingestellt, dass ich keine Komplettlösungen gebe, sondern nur Hinweise, wie man weiter machen muss bzw in welche Richtung weiter recherchiert werden muss. Leider gibt es genügend leute, die freiwillig eine Komplettlösung erarbeiten. Darauf ist die gesamte Facebook- und Instageneration aufgebaut. Wir von der alten Klingeltongeneration ticken da noch anders und da gibt es eben Reibereien.
Bitte warten ..
Mitglied: Doskias
20.01.2021 um 14:48 Uhr
Tja wie man es macht man macht es falsch :) face-smile

Grundsätzlich stimme ich euch da zu und bin auch eher ein Freund von Denkanstößen. Aber hier hab ich es halt einfach aufgegeben, als nicht mal der Wille zu erkennen war die IF-Bedingung mit dem Test-Path selbst versuchen einzubauen. Ich hab da wirklich kurz mit mir überlegt ob ich da noch etwas zu schreibe oder es dabei belasse, habe mich dann aber entschieden, die Lösung nicht unfertig im Raum stehen zu lassen.

Allerdings:
Man kann auch die fertigen Skripte nehmen und schauen, dass man versteht was und wie da vor sich geht. Wir werden ja in Zukunft sehen ob hier ein Wille zum Lernen und zur Analyse der Lösung vorliegt. :) face-smile
Bitte warten ..
Mitglied: LeeX01
20.01.2021 um 15:23 Uhr
Diesen Spruch habe ich sogar selbst vor ein paar Tagen hier gebracht.
cool hatte ich nicht mitbekommen

Wir von der alten Klingeltongeneration
Oh, Habe ich mich jetzt als alter Sack geoutet? :) face-smile

Teilweise ist es leider erschreckend wenn du siehst da hat jemand eine Minute gegoogled und das per CopyPaste ohne Gedanken zusammen geklatscht und haut es dann hier so hin.

Tja wie man es macht man macht es falsch :) face-smile
Ist doch bei uns letzten Endes immer so oder? Bitte nicht als persönlichen Angriff aufnehmen!
Bitte warten ..
Mitglied: NordicMike
20.01.2021 um 15:56 Uhr
>Teilweise ist es leider erschreckend wenn du siehst da hat jemand eine Minute gegoogled und das per CopyPaste ohne Gedanken zusammen geklatscht und haut es dann hier so hin.
Noch schlimmer ist es wenn er nicht weiss, was er damit tut und auf einmal hat er all seine Daten zerstört sind, natürlich ohne aktueller Sicherung :c)
Bitte warten ..
Mitglied: LeeX01
20.01.2021 um 15:58 Uhr
Zitat von @NordicMike:

>>Teilweise ist es leider erschreckend wenn du siehst da hat jemand eine Minute gegoogled und das per CopyPaste ohne Gedanken zusammen geklatscht und haut es dann hier so hin.
Noch schlimmer ist es wenn er nicht weiss, was er damit tut und auf einmal hat er all seine Daten zerstört sind, natürlich ohne aktueller Sicherung :c)

Nö für mich nicht ganz so schlimm sind doch seine Daten :) face-smile:) face-smile
Bitte warten ..
Heiß diskutierte Inhalte
Linux
Installation Grammm Server
smeclntVor 1 TagFrageLinux13 Kommentare

Hallo zusammen, meine Linux Kenntnisse sind sehr rudimentär trotzdem suche ich eigentlich ständig nach einer Alternative zu MS Exchange. Bis jetzt gab es nichts ...

Switche und Hubs
Probleme im Netzwerk Switche teilweise nicht erreichbar
hukimanVor 10 StundenFrageSwitche und Hubs29 Kommentare

Guten Morgen, seit Monaten haben wir hier immer wieder Probleme mit dem Netzwerk, das Problem konnte ich leider aber noch immer nicht finden. Es ...

Erkennung und -Abwehr
Einer Malware auf der Spur. Benötige Sherlock Holmes!
streamVor 22 StundenFrageErkennung und -Abwehr7 Kommentare

Guten Abend Wenn ich meine Windows-10-Kiste starte, so gibt mir mein Router eine Meldung aus, dass eine bestimmte IP-Adresse wegen Bösartigkeit geblockt wurde. Auf ...

Windows 10
Windows 10 interes Mikro ohne Funktion
TPH125Vor 1 TagFrageWindows 1011 Kommentare

Hallo zusammen, Ich verzweifelt bald. Besitze einen Medion Akoya MD 97110. Habe Windows 10 installiert, seit dem funktioniert das inigrierte Mikrofon nicht mehr. Gerät ...

Batch & Shell
Tabellarische Ausgabe der Netzwerkschnittstellen
gelöst dysti99Vor 9 StundenFrageBatch & Shell18 Kommentare

Mit - ip a - werden ja die Netzwerkschnittstellen angezeigt. Ich möchte mit ein Batchscript folgende Ausgabe erreichen: 1 eth0 192.168.1.1 AD:13:67:56:14:D1 2 eth1 ...

Festplatten, SSD, Raid
(USB) Festplatten laut ?
TomEngelVor 1 TagFrageFestplatten, SSD, Raid6 Kommentare

Ich grüsse Sie Alle. Eine Frage eines engagierten Laien Habe mehrere 3,5 " Festplatte. Einige schon recht alt 8 Jahre, andere ca 2-3 jahre ...

Ubuntu
Mailserver Test Provider IP
gelöst it-blzVor 1 TagFrageUbuntu9 Kommentare

Hallo, ist es möglich einen "Mailserver" (Imap + smtp) in einer Virtual Box mit einer Provider IP (dynamisch - ist allerdings konstant) zu testen? ...

Hardware
DisplayPort zu USB-C Adapter Converter
gelöst felixhuth-itVor 1 TagFrageHardware11 Kommentare

Hallo liebe Gemeinde Ich habe da ein kleines Problemchen. Der Kunde wollte einen 14 Zoll Monitor mit Touch in Verbindung mit einem Mini PC ...