ausgabe von befehl in variable umleiten

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mehrere Zeilen in eine Variable zu speichern ist ziemlich aufwendig. Ich empfehle daher, mehrere nummerierte Variablen zu verwenden:

Setlocal EnableDelayedExpansion
set Counter=0
FOR /F "delims=" %%A IN ('dir /B') DO (
    set /a Counter+=1
    set Zeile!Counter!=%%A
)

Den Variableninhalt kannst du aufrufen mit

FOR /L %%A IN (1,1,!Counter!) DO echo !Zeile%%A!

ok vielen dank schonmal, aber bei dem script wird nur eine zeile benötigt also da ist ein ordner der nur eine datei enthält und ich brauche nur den namen oder gleich den ganzen pfad in einer variable

0

und wie kann ich die ausgabe von dem befehl jetzt in einem pfad verwenden zb so: del %userprofile%\ordner\%pfad von der datei%

0
@fankijo
FOR /F "delims=" %%A IN ('dir /B') DO set Pfad=%%~fA

Das speichert den kompletten (~full) Pfad in einer Variable.

0
@S1r1us13

ok supi, und wie verwende ich den in der variable gespeicherten pfad in befehlen wie zum beispiel: del %pfad der datei%

0
@S1r1us13

ok danke funktioniert super, geht es auch, dass nur der name der datei in die variable umgeleitet wird?

0
@fankijo

Ja, ersetz das "%%~fA" mit "%%~nxA".

Das "n" steht für "name" und das "x" für "extension" (Dateiendung).

Weitere Abkürzungen wie "s" (für shortname / 8.3-name) findest du bei "FOR /?"

1
@S1r1us13

supiiii tausend dank, was währe ich nur ohne euch :D

0

welches System? Welche Programmier- oder Skriptsprache?

Schau mal die Stichwörter an ... bat geht nur auf Windows

0

in batch

0