Jump to content

Power Shell - löschen von bestimmten Werten in BAT-Datei


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Liebe Community,
ich habe zu Power Shell und dem Löschen von bereits genutzen Werten eine Frage.

Folgendes habe ich erstellt:

Es gibt drei Dateien:

Zahlen.bat
Buchstaben.bat
Start.bat

Die Zahlen.bat ist wie folgt aufgebaut:

@echo off
:start
echo 1 >> zahlen.txt
echo 2 >> zahlen.txt
echo 3 >> zahlen.txt
echo 4 >> zahlen.txt
echo 5 >> zahlen.txt
goto start

 

Die Buchstaben.bat ist wie folgt aufgebaut:

@echo off
:start
echo A >> buchstaben.txt
echo B >> buchstaben.txt
echo C >> buchstaben.txt
echo D >> buchstaben.txt
echo E >> buchstaben.txt

goto start

 

Es werden zwei Dateien erstellt, die die Werte immer wieder holen

Dann gibt es die start.ps1

start start.bat

Read-Host -Prompt "Inhaltegeneration gestartet!"

Stop-Process -name cmd

add-content ergebnis.txt -value "Welche Zahl wurde gezogen?"

Get-Content zahlen.txt | select -Last 1 >> ergebnis.txt

add-content ergebnis.txt -value "Welcher Buchstabe wurde gezogen?" 

Get-Content buchstaben.txt | select -Last 1 >> ergebnis.txt

start ergebnis.txt

Read-Host -Prompt "Beenden"

del *.txt

 

 

Das Skript zeigt mir als Ergebnis eine Datei in der eine Zahl und ein Buchstabe drin steht.

 

 

Ich möchte nun erreichen, dass der genannte Buchstabe in der Datei Ergebnis.txt in der  Buchstaben.bat gelöscht wird.


Ist das möglich?

 

 

Bei der nächsten Auswertung, soll der Buchstabe nicht mehr vorkommen.

 

 

Danke.

 

 

bearbeitet von derfrager007
Link zu diesem Kommentar

Hi,

 

was auch immer du da vor hast.. Warum Batch und PowerShell und "Hilfsdateien"?

$zahlinput = 1..5
$buchstbeinput = ("A", "B", "C", "D", "E")
$i = 1
do {
    Write-Host "Durchgang: $i"
    Write-Host "Mögliche Zahlen: $zahlinput"
    Write-Host "Mögliche Buchstaben: $buchstbeinput"
    
    $zahltemp = [System.Collections.ArrayList]@()
    $buchstbetemp = [System.Collections.ArrayList]@()
    $zahlrandom = Get-Random -InputObject $zahlinput
    $buchstberandom = Get-Random -InputObject $buchstbeinput
    
    write-host "Gezogene Zahl: $zahlrandom"
    write-host "Gezogener Buchstabe: $buchstberandom"

    foreach ($zahl in $zahlinput) {
        if($zahl -ne $zahlrandom) {
            $zahltemp.Add($zahl) | Out-Null
        }
    }
    $zahlinput = $zahltemp

    foreach ($buchstabe in $buchstbeinput) {
        if($buchstabe -ne $buchstberandom) {
            $buchstbetemp.Add($buchstabe) | Out-Null
        }
    }
    $buchstbeinput = $buchstbetemp

    $i++
    Write-Host `n
} until($zahlinput.Length -lt 1 -or $buchstbeinput.Length -lt 1)

 

Gruß

Jan

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...