Jump to content
derfrager007

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

Recommended Posts

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.

 

 

Edited by derfrager007

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Werbepartner:



×
×
  • Create New...