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!
fankijo 
Fragesteller
 07.02.2014, 14:55

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
fankijo 
Fragesteller
 07.02.2014, 15:18

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

0
S1r1us13  07.02.2014, 18:19
@fankijo
FOR /F "delims=" %%A IN ('dir /B') DO set Pfad=%%~fA

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

0
fankijo 
Fragesteller
 08.02.2014, 13:31
@S1r1us13

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

0
fankijo 
Fragesteller
 08.02.2014, 17:32
@S1r1us13

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

0
S1r1us13  09.02.2014, 00:11
@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
fankijo 
Fragesteller
 09.02.2014, 13:58
@S1r1us13

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

0

welches System? Welche Programmier- oder Skriptsprache?

derwebpro  06.02.2014, 19:22

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

0
fankijo 
Fragesteller
 07.02.2014, 14:52

in batch

0