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, 10322 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Echo in Batch schreibt vorab eine 1 (1)

Frage von chappy72 zum Thema Batch & Shell ...

VB for Applications
gelöst VBA Text mit Format übertragen und Zeichen ergänzen (11)

Frage von Dau12345 zum Thema VB for Applications ...

Sonstige Systeme
Amazons Echo im Test: Beim Dankesagen ertappt (4)

Link von Frank zum Thema Sonstige Systeme ...

Batch & Shell
gelöst Dos-Box, seltsame(s) Zeichen - Was und woher? (6)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...