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

Wie übergibt man einer auszuführenden Batch-Datei eine Variable?

Frage Entwicklung Batch & Shell

Mitglied: dsp

dsp (Level 1) - Jetzt verbinden

08.07.2010 um 14:15 Uhr, 5879 Aufrufe, 5 Kommentare

Hallo zusammen,
ich übe gerade mit Batch-Dateien.

Im Code werden Variablen verwendet.
Wie kann ich beim Aufruf der Batch-Datei in der Kommandozeile den Inhalt einer Variablen mitgeben?
Ich möchte z.B. das Batch aufrufen und dabei bewirken, dass die Variable Datei mit "Name123" gefüllt wird.

rename_file.bat
01.
REM <Dateiname> als Variable setzen 
02.
	set Datei=<NAME> 
03.
 
04.
REM <Endung> als Variable setzen 
05.
	set Endung=<ENDUNG> 
06.
 
07.
REM Datum erstellen JJJJ-MM-TT 
08.
	set ARCHIVNAME=%date:~6,4%%date:~3,2%%date:~0,2% 
09.
 
10.
REM Neuen Dateinamen zusammensetzen 
11.
	set NEU=%Datei%_%Archivname%.%Endung% 
12.
 
13.
REM Benenne die Datei um 
14.
	ren D:\Test\Test.tib %Neu%
Viele Grüße
Dieter
Mitglied: manuel-r
08.07.2010 um 14:20 Uhr
Startparameter übergibst du an die Batch mit einem Aufruf nach dem Schema meinbatch.cmd variable1 variable2 variable3
Innerhalb der Batch hast du dann Zugriff auf die übergebenen Werte über die Variablen %1, %2, %3. Wenn ich mich richtig erinnere, dann sind bis zu 10 Argumente bei einem Aufruf möglich. Sollten die zu übergebenden Parameter Leerzeichen enthalten muss das ganze dann in Anführungszeichen gefasst werden, weil Leerzeichen als Argumentseperator interpretiert werden.

Manuel
Bitte warten ..
Mitglied: LotPings
08.07.2010 um 14:44 Uhr
Ergänzend sei angemerkt
  • Es sind 9 Argumente die direkt angesprochen werden können (%0 steht für den Namen der laufenden Batch-Datei) siehe auch "Call /?"
  • mit Hilfe von Shift ist die Anzahl der verarbeitbaren Argumente nur von der max. Zeilenlänge abhängig, siehe "Shift /?"

Gruß
LotPings
Bitte warten ..
Mitglied: dsp
08.07.2010 um 15:10 Uhr
Danke für die Infos.
Ich habe die Parameter mal in den Code eingefügt:

rename_file.bat [Dateiname ohne Endung] [Endung] [Pfadangabe]
rename_file.bat Test tib D:\Test

01.
REM Variable <Dateiname> aus Startparameter %1 
02.
	set Datei=%1 
03.
 
04.
REM <Endung> aus Startparameter %2 
05.
	set Endung=%2 
06.
 
07.
REM Datum erstellen JJJJ-MM-TT 
08.
	set DATUM=%date:~6,4%%date:~3,2%%date:~0,2% 
09.
 
10.
REM Neuen Dateinamen zusammensetzen 
11.
	set NEU=%Datei%_%DATUM%.%Endung% 
12.
 
13.
REM Benenne die Datei um, Pfadangabe entspricht dem Startparameter %3 
14.
	ren %3\Test.tib %Neu%
In diesem Code ist sicherlich einiges etwas umständlich, aber generell funktioniert es.
Es geht ja darum, wie man die Startparameter verwenden kann.

Für mich ist die Sache erstmal gelöst.
Nochmals Danke.
Bitte warten ..
Mitglied: LotPings
08.07.2010 um 15:28 Uhr
Wenn du dir die Ausgabe von
Call /?
genauer angesehen hast sind dir vielleicht die Tilde ~ Befehle aufgefallen.

Mit deren Hilfe kannst du das Aufsplitten des Dateinamens der Batch überlassen - so brauchst du nur einen kompletten Dateinamen mit Pfad zu übergeben.
01.
@Echo off 
02.
Set "Datum=%date:~6,4%%date:~3,2%%date:~0,2%" 
03.
If Exist "%~f1" Echo Ren "%~1" "%~n1_%Datum%%~x1"
Gruß
LotPings
Bitte warten ..
Mitglied: 60730
12.07.2010 um 14:09 Uhr
Moin,

Zitat von dsp:
Danke für die Infos.
In diesem Code ist sicherlich einiges etwas umständlich, aber generell funktioniert es.
Es geht ja darum, wie man die Startparameter verwenden kann.

und da es in dem (und ähnlichen) Fall(en) ja nur dann erfolgversprechend ist, wenn es einen parameter gibt, wäre ein
01.
if not "%1"=="" echo parameter wurde gesetzt oder ähnliches
Dann ein Feinschliff.

Gruß
Bitte warten ..
Ähnliche Inhalte
XML
XSLT Datei übergibt mir keine Dateninhalte
gelöst Frage von usenussiXML4 Kommentare

>Zum lernen habe ich vorher den Tag <Address> einzeln im Online XSLT TEST Tool getestet und es hat funktioniert. ...

Batch & Shell
In einer Batch variable die Datei extension ermitteln ?
gelöst Frage von KriegstreiberBatch & Shell4 Kommentare

Servus, wieder einmal stehe ich vor einem Dilemmer wo die Lösung wahrscheinlich naheliegend ist, ich aber trotzdem nicht drauf ...

Batch & Shell
Batch - Variablen
gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

Windows 7
Netzlaufwerk per Batch - Windows übergibt Lokales Kennwort
gelöst Frage von IT-Nerd84Windows 76 Kommentare

Hallo zusammen, folgendes Problem verfolgt mich seit neuestem, ohne aktives Eingreifen meinerseits. Ich verbinde seit längerem ein Netzlaufwerk per ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 9 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 14 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 15 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...