Top-Themen

Aktuelle Themen (A bis Z)

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 Batchdatei: Variablen-Wertezuweisung

Mitglied: donnyS73lb

donnyS73lb (Level 1) - Jetzt verbinden

07.06.2016 um 08:19 Uhr, 569 Aufrufe, 2 Kommentare

Hallole,

eine Anfängerfrage: Was mache ich hier falsch?

01.

02.
if defined variable1 (
03.
        echo %variable1%
04.
	set variable2=%variable1%
05.
	echo 123
06.
	echo %variable2% blabla
07.

08.
    ) else (
09.
        echo blubbblubb
10.
    )
11.
echo %variable1% liefert das richtige Ergebnis, denn variable1 hat einen gültigen Wert. Diesen möchte ich an variable2 übergeben. Funktioniert leider nicht.

Wie müsste das richtig aussehen?

Gruß

Donny


Mitglied: 129413
LÖSUNG 07.06.2016, aktualisiert um 13:31 Uhr
Delayed Expansion
01.
@echo off
02.
setlocal Enabledelayedexpansion
03.
if defined variable1 (
04.
        echo %variable1%
05.
	set "variable2=%variable1%"
06.
	echo !variable2! blabla
07.
) else (
08.
        echo blubbblubb
09.
)
Die Zeilen innerhalb der Klammern werden als eine beim parsen so expandiert (Quasi als eine einzelne Zeile gesehen und die Variablen expandiert wenn man kein DelayedExpansion nutzt)
set variable1=Test
if defined variable1 (echo Test &set "variable2=Test" &echo)
Man sieht also das %variable2% zu einem leeren Wert expandiert wird weil sie für den Interpreter noch nicht existiert.
Hingegen bei aktiviertem DelayedExpansion wird die Zeile beim Ausführen der Zeilen erneut ausgewertet und das !variable2! dann zum korrekten Wert expandiert.

Gruß Skybird
Bitte warten ..
Mitglied: donnyS73lb
10.06.2016 um 07:17 Uhr
Hallo Skybird,

es geht. Danke Dir!

Gruß

Donny
Bitte warten ..
Ähnliche Inhalte
Windows 10
Aufgabenplanung und Batchdatei
gelöst Frage von supertuxWindows 105 Kommentare

Hallo zusammen, ich habe mir eine Batch erstellt, diese setzt bestimmt User-Einstellung am PC zurück. Diese Batch habe ich ...

Batch & Shell
Problem mit Batchdatei
Frage von achkleinBatch & Shell3 Kommentare

Hallo, ich habe für eine Bekannte eine kleine Batchdatei geschrieben, die automatisch alte Nachsendeaufträge im Download-Ordner löschen soll. Allerdings ...

Batch & Shell

Batchdatei Fehlermeldung unterdrücken

gelöst Frage von Koala86Batch & Shell5 Kommentare

Hallo, ich habe ein Problem mit einer Batchdatei. Ich habe ein Script geschrieben, welches automatisch einen Screenshots im Ordner ...

Batch & Shell

Ausgelagerte Variablen in Batchdatei

gelöst Frage von mp-homeBatch & Shell6 Kommentare

Hallo Forum, ich versuche eine Batch zu erstellen, die in mehreren (Windows) Umgebungen laufen soll. Dazu möchte ich die ...

Neue Wissensbeiträge
Windows 10
Windows 10 Mai 2019 Update (Version 1903) ist da
Information von kgborn vor 1 StundeWindows 10

Nur ein kurzer Infosplitter: Microsoft hat die Nacht (21. Mai 2019) das Funktionsupdate auf Windows 10 Version 1903 freigegeben. ...

E-Mail

Newsletter: Unread News - IT News in Byte Länge

Tipp von franktaylor vor 13 StundenE-Mail8 Kommentare

Hallo, würde gerne auf einen Newsletter hinweisen, den ich heute per Zufall gefunden und mit euch gerne teilen möchte: ...

Outlook & Mail

Outlook 2016 stürzt ab, wenn man ein (at)- Zeichen im Text einer neuen E-Mail schreibt

Tipp von Enriqe vor 1 TagOutlook & Mail4 Kommentare

Bei uns in der Firma häuften sich die Fälle, bei denen sich Outlook kommentarlos verabschiedet, wenn man ein - ...

Google Android

Google sperrt Android-Updates und den Play Store für Huawei

Information von Deepsys vor 2 TagenGoogle Android9 Kommentare

Das finde ich schon ein starkes Stück, Trump der Welt Diktator. So kann man mit einem Dekret mal eben ...

Heiß diskutierte Inhalte
Windows Server
Passwortänderung an RODC möglich?
Frage von DexthaWindows Server23 Kommentare

Hallo, ich habe einen RODC, auf welchen ich über ldaps (Web-Seite mit php7) Passwortänderungen durchführen möchte. Ist das grundsätzlich ...

DNS
DNS fragt falsche ip zuerst ab
gelöst Frage von recoldDNS23 Kommentare

Hallo zusammen, wollte mal fragen, was mit meiner DNS falsch ist? der A eintrag 88.48.118.88 sollte auf den ts3 ...

Windows 10
Windows am MAC
gelöst Frage von LeeX01Windows 1019 Kommentare

Guten Abend zusammen, ich habe gerade ein Macbook Pro vor mir welches ich mit einem Windows 10 to go ...

Windows Server
RDP als Citrix Alternative
gelöst Frage von samreinWindows Server18 Kommentare

Hallo zusammen, ich bin neu hier und das ist mein erster Beitrag. Ich bin Einzeladmin und wir setzen bei ...