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

Verwendung einer gesetzten Variable noch in derselben Eingabezeile

Frage Entwicklung Batch & Shell

Mitglied: EvaEden

EvaEden (Level 1) - Jetzt verbinden

05.05.2014, aktualisiert 06.05.2014, 1643 Aufrufe, 9 Kommentare, 2 Danke

Liebe Gemeinde,

ich habe ein simples Problem: Ich muss ein paar Befehle in einer Zeile abschicken.
Kein Problem, da verknüpfe ich sie doch mit "&".
Aber wenn ich mit set eine Variable definiere, kann ich sie nicht in der selben Zeile benutzen.

Bsp: set a=abc&echo %a%

Wenn ich dieselbe Zeile nochmal abschicke, funktioniert es. Der set-Befehl muss also mit Enter abgeschickt werden, bevor die Variable initialisiert wird!?
Könnt ihr mir helfen?

Vielen herzlichen Dankeschön!
Mitglied: Budders
05.05.2014 um 13:26 Uhr
Am Anfang des Codes ein
setlocal enabledelayedexpansion

und dann anstatt %a% ein !a! verwenden, das sollte das gewünschte Ergebnis erzielen.

MfG Budders
Bitte warten ..
Mitglied: EvaEden
05.05.2014 um 13:44 Uhr
Hi Budders,

das habe ich auch schon rauf und runter probiert:

setlocal enabledelayedexpansion&set a=abc&echo !a!

funktioniert leider auch nicht...
Bitte warten ..
Mitglied: EvaEden
05.05.2014 um 13:50 Uhr
...was ich eigentlich möchte:

set LOG=Logs%DATE:~6,4%%DATE:~3,2%%DATE:~,2%-%TIME:~,2%%TIME:~3,2%%TIME:~-5%.zip&echo 7-zip a "%LOG: =0%" "FILES"

wollte das Leerzeichen bei Zeiten vor 10:00 Uhr durch 0 ersetzt haben: " 9:00" -> "09:00"

LG, Eva~
Bitte warten ..
Mitglied: Budders
05.05.2014, aktualisiert um 13:53 Uhr
Willst du den ganzen Code in eine Zeile packen?
Und bei mir funktioniert das ohne Probleme, auch in einer Zeile. Jedoch nur aus einer Batch Datei, aus der Kommandozeile wird mir auch nur !a! ausgespuckt
Bitte warten ..
Mitglied: EvaEden
05.05.2014 um 13:56 Uhr
Ja, leider! Es ist ein externer Aufruf aus Python heraus: os.system('DOS-BEFEHLE'). Den Umweg über eine extra Batch wollte ich mir sparen.

Vielen Dank Dir!
Bitte warten ..
Mitglied: Budders
05.05.2014 um 13:59 Uhr
Dann bin ich leider überfragt. Das tut mir leid.
Aber wenn du eine Lösung gefunden hast, kannst du diese gerne hier posten, mich würde das ebenfalls interessieren.
Bitte warten ..
Mitglied: Biber
LÖSUNG 05.05.2014, aktualisiert 06.05.2014
Moin EvaEden,

wenn du die delayed expansion auch schon in einer Eingabezeile, also ohne einen Batch nutzen willst, dann musst du (einmalig) DelayedExpansion mittels Registry-Eintrag als Standardverhalten setzen.
Als Normal-Benutzer so:

01.
 reg add "HKCU\Software\Microsoft\Command Processor" /v DelayedExpansion /t REG_DWORD /d 0x1
Mit "mehr" Rechten kannst du es auch im Zweig HKLM aktivieren als Default für alle Benutzer, falls das Sinn machen sollte.

Jedesmal danach kannst du in jedem neuen CMD-Fenster dein Beispiel
setlocal enabledelayedexpansion&set a=abc&echo !a!
... erfolgreich ausprobieren und natürlich auch deine %log%--String-Erzeugung.

Grüße
Biber
Bitte warten ..
Mitglied: rubberman
LÖSUNG 06.05.2014, aktualisiert um 08:34 Uhr
Hallo EvaEden.

Es ist ein externer Aufruf aus Python heraus

Ich wette, dass es in Python auch so etwas wie ein CreateProcess oder vielleicht sogar eine eigene Klasse gibt, mit der man 7-Zip sinnvoller bedienen könnte. Selbst wenn nicht, wird es doch möglich sein deinen Timestamp im Pythoncode zusammen zu bauen, statt in der aufgerufenen Kommandozeile.

Wie auch immer: Deine Kommandozeile führt dazu, dass die cmd.exe gestartet wird. Ergo kannst du den Aufruf der CMD auch gleich in die Kommandozeile einbauen und dabei gibt es bekanntlich die Option /v:on um die verzögerte Variablenerweiterung einzuschalten.
cmd /v:on /c "set LOG=Logs%DATE:~6,4%%DATE:~3,2%%DATE:~,2%-%TIME:~,2%%TIME:~3,2%%TIME:~-5%.zip&echo 7-zip a "!LOG: =0!" "FILES""
Grüße
rubberman
Bitte warten ..
Mitglied: EvaEden
06.05.2014 um 08:34 Uhr
Vielen Dank Biber!

Auf Dich kann man sich wirklich verlassen! Du findest immer eine Lösung!!!


Vielen Dank Rubberman!

Das ist genau die unkomplizierte Lösung die ich brauche! War mir nicht bewusst, dass ich das Commandset nach cmd noch in Anführungszeichen setzen muss (ohne die geht es nicht). Da hätte ich ewig gesucht!

Herzlichst
Eva~
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Stringsoperation unter Verwendung von Variablen
gelöst Frage von tegwertBatch & Shell1 Kommentar

Hallo zusammen! Mit folgendem Script verändere ich den Inhalt einer Variable : Das Ergebnis "istein" wird korrekt ausgegeben. Nun ...

Batch & Shell
Brauche Hilfe bei Script Datei, Werte der gesetzten Variable wird nicht abgearbeitet
gelöst Frage von Kalma73Batch & Shell5 Kommentare

Hallo, ich habe ein kleines Script geschrieben um unsere Virtuellen Server herunterfahren zu können. um alle Server einfacher zu ...

Switche und Hubs
Verwendung Twinax
gelöst Frage von Philipp711Switche und Hubs5 Kommentare

Hallo, dies ist eine Anschlussfrage an folgenden Eintrag: Kurzfassung: Wir planen einen neuen Hyper-V-Cluster mit 3 Nodes und einem ...

Outlook & Mail
OL 2010 Abwesenheit kann nicht gesetzt werden
Frage von xbast1xOutlook & Mail

Hallo, folgende Problematik: Benutzer hat zwei Postfächer im OL eingebunden, Postfach A und Postfach B. Bei Postfach A konnte ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 16 StundenMicrosoft Office6 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 18 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 19 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 22 StundenMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware12 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...

LAN, WAN, Wireless
NETZWERKAUFBAU - VERKABELUNG - GRUNDLEGENDES
Frage von hobbymieterLAN, WAN, Wireless10 Kommentare

Hallo, ich habe mal eine Frage bezüglich der LAN-Verkabelung in einem Haus. Und zwar ziehen wir demnächst ins Elternhaus, ...