Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit For mehrere Variablen auslesen ? wie geht das ?.

Frage Entwicklung Batch & Shell

Mitglied: Viper-Berlin

Viper-Berlin (Level 1) - Jetzt verbinden

27.01.2014, aktualisiert 17:48 Uhr, 1075 Aufrufe, 4 Kommentare

Habe folgendes Problem….

Ich möchte in einer For schleife Variablenwerte übertragen wie geht das

Set “Counter=3” & REM Anzahl der Variablen 3
Set “A_1=c:\”
Set “A_2=d:\”
Set “A_3=e:\”

for /L %%N IN (1 1 %Counter%) DO (
dir A_%%N
)

letz sollte ein dir für c:\ d:\ und e:\ ausgeführt werden... klappt aber so nicht!.

Hier ist das Problem wie bekomme ich den Wert aus der Variable A_1 bis 3 ausgelesen ??

Danke für Eure Hilfe ;-.)
Der Vipy
Mitglied: colinardo
LÖSUNG 27.01.2014, aktualisiert um 17:48 Uhr
Hallo Vipy,
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "A_1=c:\" 
03.
set "A_2=d:\" 
04.
set "A_3=e:\" 
05.
for /L %%N IN (1 1 %Counter%) DO @( 
06.
  dir !A_%%N! 
07.
)
Die Verzögerte Variablenerweiterung in Kombination mit dem Befehl (enabledelayedexpansion) bewirkt das alles was zwischen zwei Ausrufezeichen steht erst zur Ausführungszeit des Scriptes expandiert wird anstatt schon beim Parsen des Scriptes.

Grüße Uwe
Bitte warten ..
Mitglied: Viper-Berlin
27.01.2014 um 17:49 Uhr
Besten Dank! klappt super !!!
Vipy
Bitte warten ..
Mitglied: bastla
LÖSUNG 27.01.2014, aktualisiert 29.01.2014
Hallo Viper-Berlin!

Wäre es nicht einfacher, anstelle eines "Pseudo"-Arrays zB
for %%N in (c:\ d:\ e:\ "f:\auch mit Leerzeichen") do dir %%N
zu verwenden?

Abgesehen davon könntest Du Dir, wenn es denn schon unbedingt %A_1% bis %A_x% sein sollen, zumindest das Zählen ersparen:
for /f "tokens=1* delims==" %%i in ('set A_') do dir "%%j"
Grüße
bastla
Bitte warten ..
Mitglied: Viper-Berlin
28.01.2014 um 12:58 Uhr
Servus bastla,

ich hab 100 von Variablen mit Verzeichnisseinträgen das würde nicht gehen

Danke der Vipy
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Google Android
gelöst Android-Handy versehentlich (dauerhaft) gesperrt? (22)

Frage von FA-jka zum Thema Google Android ...

DSL, VDSL
gelöst DSL 200m verlängern (13)

Frage von Angela44 zum Thema DSL, VDSL ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...