Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Verzögerte Umgebungsvariablenerweiterung nur für eine batch-Datei aktivieren

Frage Entwicklung Batch & Shell

Mitglied: AlbertMinrich

AlbertMinrich (Level 2) - Jetzt verbinden

29.01.2009, aktualisiert 14:50 Uhr, 8314 Aufrufe, 9 Kommentare

Hallo,

ich würde gerne die verzögerte Umgebungsvariablenerweiterung (cmd /v:on) nur für eine batch-Datei aktivieren.
Das geht zwar, wenn ich die Eingabeaufforderung mit cmd /v:on starte und dann innerhalb der Eingabeaufforderung die batch ausführe, aber wie mache ich es, wenn ich die batch per Doppelklick oder Taskplaner ausführen will.
Ich weiss, ich könnte es auch per Registrykey generell aktivieren, will ich aber eigentlich nicht, weil ich nicht weiss, ob dann die 100 anderen batch-Dateien noch so funktionieren, wie sie sollen.

Danke
Martin
Mitglied: miniversum
29.01.2009 um 13:24 Uhr
Mal ohne getestet zu haben ob das os geht könntest du es so versuchen:
01.
@echo off 
02.
if "%1" equ "" start "" /B cmd \v:on /c "%0" bla & goto:eof 
03.
 
04.
echo ab hier die restliche bisherige Batch
Bitte warten ..
Mitglied: AlbertMinrich
29.01.2009 um 14:49 Uhr
Geniale Zeile.
Funktioniert einwandfrei.

Danke und Gruss
Martin
Bitte warten ..
Mitglied: bastla
29.01.2009 um 15:06 Uhr
... und falls es ein wenig weniger sein darf :
setlocal enabledelayedexpansion
Grüße
bastla
Bitte warten ..
Mitglied: Biber
29.01.2009 um 15:18 Uhr
... um nicht sogar zu sagen
SetLocal DisableDelayedExpansion
... in den Batchen, die nicht verlässlich mit versehentlich aktivierter verzögerter Variablenerweiterung laufen würden.

Grüße
Biber
Bitte warten ..
Mitglied: AlbertMinrich
29.01.2009 um 17:16 Uhr
Tja, das ist natürlich auch nicht schlecht.

Danke
Bitte warten ..
Mitglied: miniversum
29.01.2009 um 21:51 Uhr
setlocal enabledelayedexpansion
Würde sich das nicht auf alle Batch Dateien auswirken die in dieser Zeit laufen / gestartet werden?
Bitte warten ..
Mitglied: bastla
30.01.2009 um 08:21 Uhr
Hallo miniversum!
Würde sich das nicht auf alle Batch Dateien auswirken die in dieser Zeit laufen / gestartet werden?
Da das nächste "endlocal" die Einstellung wieder aufhebt (und beim Beenden eines Batches ein implilzites "endlocal" erfolgt): Nein; nur ein aus diesem Batch gestarteter weiterer Batch übernimmt diese Einstellung ...

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
30.01.2009 um 16:50 Uhr
Ichhabe den Eingangsbeitrag nochmal gelesen udn festgestellt da sich mich zu sehr auf das "in einer Batch" gestürzt habe. Ich habe es so interpretiert das in einer Batch die Verzögerte auslösung aktiviert wird ohne das es in einer anderen aktiviert wird die gestartet wird während die erste läuft.
War woll fehlinterpretiert von mir.
Bitte warten ..
Mitglied: bastla
30.01.2009 um 16:59 Uhr
Hallo miniversum!

Wenn der zweite Batch nicht durch den ersten Batch (dem mit "setlocal enabledelayedexpanison"), sondern tatsächlich nur während der erste Batch noch läuft, gestartet wird, ist für den zweiten Batch "delayedExpansion" nicht aktiviert ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Offline-Dateien unter Windows Server 2012 R2 aktivieren (6)

Frage von Stefan007 zum Thema Windows Server ...

Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Windows 7
gelöst Dateien verschieben Sicheheitswarnung Aktivieren (1)

Frage von Krabbelfiechle zum Thema Windows 7 ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...