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

Zeichen innerhalb von ECHO maskieren

Frage Entwicklung Batch & Shell

Mitglied: sebrab

sebrab (Level 1) - Jetzt verbinden

25.10.2007, aktualisiert 26.10.2007, 10609 Aufrufe, 4 Kommentare

Ich habe folgendes Probelm:

Ich möchten den nachfolgenden Code in eine Batchdatei schreiben lassen, von einer anderen Batchdatei.

01.
FOR /F "usebackq tokens=2 delims=:" %%I IN (`%PATH% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%I

Etwas konkreter:

Skript1.cmd erzeugt eine Datei Skript2.cmd

in Skript1.cmd soll folgende Zeile stehen:

01.
ECHO FOR /F "usebackq .....>>Skript2.cmd
Skript2.cmd soll anschließend eine Datei auswerten können, um sich von dort Variablen herzuziehen.

z.B.:
H:\bin>type variables.txt
SERVERNAME:blabla
USERNAME:user1



Hier nun das Probelm:

Ich komme hierbei mit der Maskierung der "%" und "|" Zeichen nicht klar

Folgende Zeilen innherhalb von Skript1.cmd:
01.
@echo off 
02.
SET PATHFILE=H:\bin\variables.txt 
03.
 
04.
ECHO @echo off>Skript2.cmd 
05.
ECHO FOR /F "usebackq tokens=2 delims=:" ^%%I IN (`%PATHFILE% ^| findstr "SERVERNAME"`) DO @SET SERVER=^%%I>>Skript2.cmd 
06.
ECHO FOR /F "usebackq tokens=2 delims=:" %%I IN (`%PATHFILE% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%I>>Skript2.cmd 
07.
ECHO FOR /F "usebackq tokens=2 delims=:" %%%I IN (`%PATHFILE% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%%I>>Skript2.cmd
Erzeugt folgende Einträge in Skript2.cmd:
01.
@echo off 
02.
FOR /F "usebackq tokens=2 delims=:" %I IN (`H:\bin\variables.txt | findstr "SERVERNAME"`) DO @SET SERVER=%I 
03.
FOR /F "usebackq tokens=2 delims=:" %I IN (`H:\bin\variables.txt | findstr "SERVERNAME"`) DO @SET SERVER=%I 
04.
FOR /F "usebackq tokens=2 delims=:" %PATHFILE%I

Hat jemand eine Idee, wie ich die Zeile im ECHO schreiben muss, dass die korrekte, unten noch einmal genannte Zeile in Skript2.cmd geschrieben wird?

01.
FOR /F "usebackq tokens=2 delims=:" %%I IN (`%PATH% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%I
Mitglied: Biber
25.10.2007 um 13:17 Uhr
Moin sebrab,

versuch es so in deinem Schreib-mir-den-Batch-Schnipsel:
01.
@Echo FOR /F "usebackq tokens=2 delims=:" ^%%%%I IN (`%%PATH%% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%%%I>test,bat
Gruß
Biber
Bitte warten ..
Mitglied: sebrab
25.10.2007 um 13:47 Uhr
Hi Biber,

danke für die Antwort, es funktioniert auch soweit mit den "%" Zeichen. Das maskierte "|" Zeichen ist aber weiterhin nicht zu sehen.

Dies (Skript1.cmd):
01.
@ECHO @echo off>Skript2.cmd 
02.
@ECHO SET PATHFILE=H:\bin\variables.txt>>Skript2.cmd 
03.
@Echo FOR /F "usebackq tokens=2 delims=:" ^%%%%I IN (`type %%PATHFILE%% ^| findstr "SERVERNAME"`) DO @SET SERVER=%%%%I>>Skript2.cmd
erzeugt dies (Skript2.cmd):
01.
@echo off 
02.
SET PATHFILE=H:\bin\variables.txt 
03.
FOR /F "usebackq tokens=2 delims=:" %%I IN (`type %PATHFILE% | findstr "SERVERNAME"`) DO @SET SERVER=%%I
Ich erhalte beim ausführen von Skript2 folgende Fehlermeldung.
01.
H:\bin>Skript2.cmd 
02.
"|" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Auch ein 2. "^" vor dem "|" Zeichen hat nicht funktioniert.


Folgendes erzeilt aber das richtige Ergebnis:
01.
@ECHO FOR /F "usebackq tokens=2 delims=:" ^%%%%I IN (`type %%PATHFILE%% ^^^| findstr "SERVERNAME"`) DO @SET SERVER=%%%%I>>Skript2.cmd
Bitte warten ..
Mitglied: Biber
25.10.2007 um 14:37 Uhr
Sorry, sebrab,

auf das Caret und das Pipe-Symbol hatte ich gar nicht mehr geachtet - Du hast Recht, die müssen auch maskiert werden.

Die vorhandenen %-Zeichen dagegen nur verdoppelt, nicht maskiert.
01.
@Echo FOR /F "usebackq tokens=2 delims=:" %%%%I IN (`%%PATH%% ^^^| findstr "SERVERNAME"`) DO @SET SERVER=%%%%I>test.bat
Grüße
Biber
Bitte warten ..
Mitglied: sebrab
26.10.2007 um 08:29 Uhr
Ok,
danke noch mal für die Hilfe.

Grüße
sebrab
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Outlook 2013 Kontaktname enthält japanische Zeichen

Frage von xbast1x zum Thema Microsoft Office ...

Batch & Shell
gelöst Echo Ausgabe ohne Variablenauflösung (9)

Frage von bartek76 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

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

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...