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

Anführungszeichen in Batch Datei ausgeben

Frage Entwicklung Batch & Shell

Mitglied: Atalics

Atalics (Level 1) - Jetzt verbinden

17.03.2014 um 20:50 Uhr, 3511 Aufrufe, 6 Kommentare, 2 Danke

Guten Abend Leute,
ich wollte eine Verknüpfung per CMD erstellen (Code von bastla, funktioniert ohne meine Veränderungen einwandfrei ^^), in dieser Verknüpfung soll dann als Pfad folgendes stehen: " "C:\Users\Dennis\Desktop\PeZBot\iw3mp.exe" +set fs_game "mods\PeZBOT" "
Allerdings wird das dann nur so: " "C:\Users\Dennis\Desktop\PeZBot\iw3mp.exe +set fs_game mods\PeZBOT" "
Das ist der Code:

01.
@echo on & setlocal 
02.
 
03.
::Speicherort der Verknüpfung (unterhalb von Startmenue\Programme) 
04.
::set "zielpfad=%userprofile%\Startm~1\Programme\XXXXX" 
05.
::Falls das Symbol auf den Desktop soll: 
06.
set "zielpfad=%userprofile%\Desktop\Test Spiel" 
07.
 
08.
::Name der Verknüpfung (ohne ".lnk") 
09.
set "progtitel=Bots" 
10.
::Speicherort der Programmdatei (wird auch für "Ausführen in:" verwendet) 
11.
set "progdir=%~dp0" 
12.
set "progexe=iw3mp.exe" 
13.
::Kommentar 
14.
set "beschreibung=Test" 
15.
 
16.
::Bei Bedarf Speicherordner der Verknüpfung erstellen (siehe oben "zielpfad"): 
17.
if not exist "%zielpfad%" md "%zielpfad%" 
18.
 
19.
::temporäres VBScript erzeugen ... 
20.
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs 
21.
echo Set objShortcut=objShell.CreateShortcut("%zielpfad%\%progtitel%.lnk")>>%temp%\MakeShortCut.vbs 
22.
echo objShortcut.TargetPath="%progdir%\%progexe% +set fs_game mods/PeZBOT">>%temp%\MakeShortCut.vbs 
23.
echo objShortcut.Description="%beschreibung%">>%temp%\MakeShortCut.vbs 
24.
echo objShortcut.WorkingDirectory="%progdir%">>%temp%\MakeShortCut.vbs 
25.
echo objShortcut.Save>>%temp%\MakeShortCut.vbs 
26.
 
27.
::... ausführen ... 
28.
cscript //nologo %temp%\MakeShortCut.vbs 
29.
 
30.
::... und wieder löschen. 
31.
del %temp%\MakeShortCut.vbs 
32.
 
33.
pause
Ich nehme an dass das Problem in diesem Bereich liegt, weil in dem Pfad der Verknüpfung mehrere "" vertreten sein müssen

01.
echo objShortcut.TargetPath="%progdir%\%progexe% +set fs_game mods/PeZBOT">>%temp%\MakeShortCut.vbs
Ich weiß jetzt nicht genau wie ich diese "" dort einbringen muss, denn wenn ich die einfach rein tu dann gibt es einen Fehler beim erstellen.
Ich hoffe ihr versteht was ich meine.

Danke mfG Atalics


Mitglied: rubberman
LÖSUNG 17.03.2014, aktualisiert um 22:29 Uhr
Hallo Atalics, willkommen im Forum.

Bei bastlas Code erledigt die Arbeit ein temporäres VBScript. Dort gilt: Strings müssen in Anführungszeichen eingeschlossen werden und Anführungszeichen in Strings müssen verdoppelt werden.
01.
echo objShortcut.TargetPath="""%progdir%\%progexe%"" +set fs_game ""mods/PeZBOT""">>%temp%\MakeShortCut.vbs
Grüße
rubberman
Bitte warten ..
Mitglied: Atalics
17.03.2014 um 21:49 Uhr
Danke für die schnelle Antwort.

Es funktioniert in soweit wenn in dem Pfad kein Leerzeichen auftaucht, also bei z.B. "C:\Test" funktioniert es einwandfrei, sobald es aber z.B. "C:\Test 1" heißt geht es nicht mehr und es kommt die "Laufzeitfehler in Microsoft VBScript: Ungültiger Prozeduraufruf oder ungültiges Argument" Fehlermeldung.

Wie kann man das beheben?

Danke mfG Atalics
Bitte warten ..
Mitglied: rubberman
LÖSUNG 17.03.2014, aktualisiert um 22:29 Uhr
Hallo Atalics,

sorry, für Programmargumente gibt es natürlich die Arguments Eigenschaft (neue Zeile 23).
01.
@echo on & setlocal 
02.
 
03.
::Speicherort der Verknüpfung (unterhalb von Startmenue\Programme) 
04.
::set "zielpfad=%userprofile%\Startm~1\Programme\XXXXX" 
05.
::Falls das Symbol auf den Desktop soll: 
06.
set "zielpfad=%userprofile%\Desktop\Test Spiel" 
07.
 
08.
::Name der Verknüpfung (ohne ".lnk") 
09.
set "progtitel=Bots" 
10.
::Speicherort der Programmdatei (wird auch für "Ausführen in:" verwendet) 
11.
set "progdir=%~dp0" 
12.
set "progexe=iw3mp.exe" 
13.
::Kommentar 
14.
set "beschreibung=Test" 
15.
 
16.
::Bei Bedarf Speicherordner der Verknüpfung erstellen (siehe oben "zielpfad"): 
17.
if not exist "%zielpfad%" md "%zielpfad%" 
18.
 
19.
::temporäres VBScript erzeugen ... 
20.
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs 
21.
echo Set objShortcut=objShell.CreateShortcut("%zielpfad%\%progtitel%.lnk")>>%temp%\MakeShortCut.vbs 
22.
echo objShortcut.TargetPath="""%progdir%\%progexe%""">>%temp%\MakeShortCut.vbs 
23.
echo objShortcut.Arguments="+set ""fs_game mods/PeZBOT""">>%temp%\MakeShortCut.vbs 
24.
echo objShortcut.Description="%beschreibung%">>%temp%\MakeShortCut.vbs 
25.
echo objShortcut.WorkingDirectory="%progdir%">>%temp%\MakeShortCut.vbs 
26.
echo objShortcut.Save>>%temp%\MakeShortCut.vbs 
27.
 
28.
::... ausführen ... 
29.
cscript //nologo %temp%\MakeShortCut.vbs 
30.
 
31.
::... und wieder löschen. 
32.
del %temp%\MakeShortCut.vbs 
33.
 
34.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: Jannis92
17.03.2014 um 22:08 Uhr
Probiere mal die einfachen Anführungszeichen ' ' oder einen backslash vor den doppelten anführungszeichen.
"befehl \"Pfad 1\" "
Das funktioniert zumindest bei c++ :p
Bitte warten ..
Mitglied: Atalics
17.03.2014 um 22:14 Uhr
Ich verneige mich vor dem Meister :D
Danke hat alles wunderbar geklappt
Ich werde es als gelöst markieren

PS: Die Anführungszeichen müssten so: fs_game ""mods/PeZBOT"" gesetzt sein anstatt so: ""fs_game mods/PeZBOT"". Das tut aber nichts zur Sache das Prinzip hab ich verstanden

Danke mfG Atalics
Bitte warten ..
Mitglied: Dani
17.03.2014 um 22:22 Uhr
Moin,
bitte markiere die Kommentare die zur Problemlösung geführt haben, ebenfalls noch.


Grüße,
Dani
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Auslesen einer Datei mit einem Anführungszeichen im Text
Frage von c20082005Batch & Shell1 Kommentar

Hallo zusammen, ich habe ein Problem, das ich auch nach einiger Recherche im Internet nicht gelöst bekomme: Ich habe ...

Batch & Shell
Batch um Satz zwischen Anführungszeichen aus 1. Zeile in Textdatei lesen
gelöst Frage von georg2204Batch & Shell3 Kommentare

Hallo, nach langem Suchen und Probieren komme ich leider nicht mehr weiter. Ich habe eine Textdatei, aus dieser soll ...

Batch & Shell
Batch: Umgebungsvariable zusammenstellen und ausgeben
Frage von yousaintBatch & Shell1 Kommentar

Hallo Zusammen ich habe eine Frage bzgl. Umgebungsvariablen in einer Batch-Datei. Folgender Fall liegt vor: Batch-Datei: echo off setlocal ...

Batch & Shell
Batch - Nur Laufwerksbuchstabe ausgeben
gelöst Frage von padrichBatch & Shell2 Kommentare

Hallo zusammen! Ich habe vor eine Batch zu schreiben, welche mit den Laufwerkbuchstaben vom Laufwerk "Acer" löscht. Bis jetzt ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless8 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing7 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...