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

Commandlineparameter in Variablen übergeben klappt nicht

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

04.01.2010 um 14:20 Uhr, 3884 Aufrufe, 4 Kommentare

Hallo Leute,

Ich habe vor ein CopyProgramm zu schreiben, an das ich vier Variablen übergebe!
Bei der Übergabe der Parameter habe ich Probleme die "" rauszufiltern!

In meinen Beispielen habe ich nur den QUell-Pfad reingenommen da es übersichtlicher wird!

Wird meine Batchdatei mit den zwei Parametern "C:" und "Dokumente und EInstellungen" aufgerufen, bekomme ich die Parameter so angezeigt:

echo %1 -> "c:"
echo %2 -> "Dokumente und EInstellungen"

Übergebe ich diese beiden Parameter in 2 Variablen dann klappt das:
set Q_LW=%1
set Q_V=%2

Die beiden Variablen enthalten dann die Werte MIT den Anführungszeichen!

Wenn ich die Anführungszeichen rausfiltere dann sieht das so aus:

echo %~1 -> c:
echo %~2 -> Dokumente und EInstellungen

Wenn ich allerdings die Variablen ohne Anführungszeichen übertragen möchte

set Q_LW=%~1
set Q_V=%~2


dann stürzt das Batch ohne Fehlermeldung ab!!

Kann mir jemand einen Tipp geben warum??
Mitglied: bastla
04.01.2010 um 14:46 Uhr
Hallo pbelcl!

Deine eigentliche Frage (nach dem "Warum") kann ich zwar nicht beantworten, aber versuch es einmal so:
set "Q_LW=%~1" 
set "Q_V=%~2"
und verwende dann bei Bedarf die Schreibweise
copy "%Q_V%" ...
Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
05.01.2010 um 18:38 Uhr
Zitat von bastla:
set "Q_LW=%~1" 
> set "Q_V=%~2" 
> 
Danke Bastla, das hat funktioniert!
Auf diesen Syntax wär ich NIE gekommen...

Jetzt hab ich noch versucht die Variablen auf Inhalt zu prüfen, aber mit

if %Q_V%!==!
klappt das nicht!
Ich will nur ein Event setzen wenn die Variable leer ist!

Hast Du da auch noch einen Tipp??
Bitte warten ..
Mitglied: bastla
05.01.2010 um 18:43 Uhr
Hallo pbelcl!
Ich will nur ein Event setzen wenn die Variable leer ist!
Versuch es damit:
if not defined %Q_V% ...
Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
05.01.2010 um 19:05 Uhr
Zitat von bastla:
Versuch es damit:
if not defined %Q_V% ... 
> 
Das hat leider nicht funktioniert, vielleicht weil in den Variablen Leerzeichen drinnen sind??

Hab allerdings damit
if "X%Q_V%X"=="XX" goto Param_fehler
Erfolg gehabt. (hat mir eure Forensuche ausgespuckt...)
Ist allerdings nicht so elegant
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Batch & Shell
gelöst Powershell invoke Command Variablen übergeben (4)

Frage von H41mSh1C0R zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...