Jump to content
derfrager007

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

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

Werbepartner:



×