Batch zeile aus datei in bat varian´ble kopieren

tomasto5

Newbie
Registriert
Apr. 2024
Beiträge
4
@Echo off
setlocal enabledelayedexpansion

REM Der Pfad zur Datei
set "file=Datei.txt"

REM Variable, um die Zeile zu speichern
set "line="

REM Zähler für die Zeilennummer
set "count=0"

REM Finden und Kopieren der 8. Zeile
for /f "usebackq delims=" %%a in ("%file%") do (
set /a count+=1
if !count! equ 8 (
set "line=%%a"
goto :done
)
)

:done
REM Ausgabe der gespeicherten Zeile
echo Die 8. Zeile aus Datei.txt: !line!
echo !line! >>%file%
endlocal
pause


zeile acht ist bei mir: TcpTestSucceeded : True
aber mein output ist: 䍅佈椠瑳愠獵敧捳慨瑬瑥⠠䙏⥆മ
 
Muss es denn wirklich Batch sein?
Und was ist das eigentliche Ziel?
Und welches Dateiencoding hat die Datei (also Datei.txt)?

Bei mir funktioniert es mit UTF-8. Habe die Datei vom der Batch erzeugen lassen und dann bearbeitet.

1717093427059.png
 
  • Gefällt mir
Reaktionen: _anonymous0815_
hä ich verstehe nicht was das problem ist aber ich will schauen ob der output eines powershell codes der in die txt datei kopiert wird in dieser zeile true anzeigt aber findtr hat auch nicht funktioniert
 
Und wie wird die Datei erzeugt?
Welches Datei-Encoding hat die Datei?

Wenn findstr (ich nehme an, das meinst du) auch nicht funktioniert, an was könnte es dann denn liegen?

Geh mal auf die Kommandozeile in den Ordner und gib da ein type datei.txt und poste das Ergebnis. Falls es irgendwelche "privaten" Inhalte hat, kannst du die gerne zensieren.
 
tomasto5 schrieb:
ich will schauen ob der output eines powershell codes der in die txt datei kopiert wird
Wenn deine "Datei.txt" eh aus nem Powershell-Script kommt, kannst du die Prüfung doch auch direkt in PS machen. Oder wieso der Umweg mit einem Batchscript?

E: Deine Datei fällt vermutlich aus einem Test-Netconnection mit Portangabe heraus.
Wenn du nur wissen willst, ob der TCPPort erreichbar ist, reicht schon das PS-Codeschnipselchen aus (IP und Port natürlich nach Wunsch austauschen):
PowerShell:
(Test-NetConnection 127.0.0.1 -Port 445).TcpTestSucceeded
Da kommt dann True oder False raus
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Raijin und tollertyp
Eben, deshalb ja auch meine Frage, was das Ziel ist.
Und wenn man halt Test-NetConnection macht, bekomme ich das TcpTestSucceeded in Zeile 7... die Suche auf diese Art ist ja sowieso Quatsch, weil was ist, wenn der Befehl ein Update erhält und sich die Zeilennummer ändert...
 
  • Gefällt mir
Reaktionen: Raijin
Das ist ein Paradebeispiel für ein XY-Problem. Der TE möchte scheinbar einen Verbindungstest machen und auswerten, scheitert daran wohl und überlegt sich den Umweg über eine Outputdatei und scheitert auch daran. Statt nach einer Lösung zum ursprünglichen Problem zu fragen, versucht er stattdessen seinen Workaround mit fremder Hilfe zu fixen. Mehr XY geht kaum.

tomasto5 schrieb:
ich will schauen ob der output eines powershell codes der in die txt datei kopiert wird in dieser zeile true anzeigt aber findtr hat auch nicht funktioniert
Woher kommt denn dieser Output bzw. von welchem Code redest du? Was ist dein eigentliches Ziel? Willst du wirklich wissen wie eine Datei geparsed wird oder willst du den zugrundeliegenden Verbindungstest machen? Je genauer du deine Beweggründe, deine Ziel und die ersten Probleme auf dem Weg dorthin beschreibst, umso zielgerichteter kann man dir helfen. Wenn du aber nur deinen selbst erdachten Workaround nicht zum Laufen bringst und nur nach diesem Problem fragst, bastelst du dir am Ende einen Workaround zum Workaround anstatt einfach das ursprüngliche Problem anzugehen.

Poste also gerne den Code des ominösen Skripts, das den fraglichen Output erzeugt und beschreibe was dich dazu bewegt hat, dieses Skript wofür zu benutzen.
 
  • Gefällt mir
Reaktionen: tollertyp und Nebuk
Zurück
Oben