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

Verbotene Zeichen per Batch in Text-Datei schreiben.

Frage Entwicklung Batch & Shell

Mitglied: max5moritz

max5moritz (Level 1) - Jetzt verbinden

28.01.2013, aktualisiert 18:19 Uhr, 2635 Aufrufe, 2 Kommentare

Hallo Batchler,

ích versuche gerade per Batch eine neue Batch zu erstellen.

Dazu habe ich folgenden Skript erstellt. Der Einfachkeit wegen habe ich auch gleich das derzeitige Ergebnis und meinen Wunsch /Ziel darunter gesetzt.

Was mache ich verkehrt? Oder geht das gar nicht, diese Batch-Sonderzeichen per ECHO in eine Datei umzuleiten?

01.
:start-set 
02.
echo if "%~1"=="progs" goto :%~1 > "%~dp0start-set.bat" 
03.
echo :start>>"%~dp0start-set.bat" 
04.
echo.>>"%~dp0start-set.bat" 
05.
echo :progs>>"%~dp0start-set.bat" 
06.
echo Diesen Bereich anpassen und abspeichern.>>"%~dp0start-set.bat" 
07.
echo.>>"%~dp0start-set.bat" 
08.
echo if "%~2"=="" (goto :eof) ELSE goto :%~2 >>"%~dp0start-set.bat" 
09.
echo.>>"%~dp0start-set.bat" 
10.
echo :stamp>>"%~dp0start-set.bat" 
11.
echo set "stamp=%date:~-4%%date:~3,2%%date:~0,2%_%time::=%" >>"%~dp0start-set.bat" 
12.
echo set "stamp=%stamp:~0,-3%" >>"%~dp0start-set.bat" 
13.
echo goto :eof>>"%~dp0start-set.bat" 
14.
echo.>>"%~dp0start-set.bat" 
15.
echo :ende>>"%~dp0start-set.bat" 
16.
ping -n 2 localhost 1>NUL 2>NUL 
17.
notepad "%~dp0start-set.bat" 
18.
goto :eof 
19.
 
20.
--------------- Ergebins ------------------------ 
21.
if ""=="progs" goto :  
22.
:start 
23.
 
24.
:progs 
25.
Diesen Bereich anpassen und abspeichern. 
26.
 
27.
if ""=="" (goto :eof) ELSE goto :  
28.
 
29.
:stamp 
30.
set "stamp=20130128_180503,95"  
31.
goto :eof 
32.
 
33.
:ende 
34.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
35.
............. Das Ziel .................... 
36.
if "%~1"=="progs" goto :%~1 
37.
:start 
38.
 
39.
:progs 
40.
Diesen Bereich anpassen und abspeichern. 
41.
 
42.
if "%~2"=="" (goto :eof) ELSE goto :%~2 
43.
 
44.
:stamp 
45.
set "stamp=%date:~-4%%date:~3,2%%date:~0,2%_%time::=%" 
46.
set "stamp=%stamp:~0,-3%" 
47.
goto :eof 
48.
 
49.
:ende 
50.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Danke im Voraus für die Mithilfe.

Gruß
max5moritz
Mitglied: Friemler
28.01.2013, aktualisiert um 19:47 Uhr
Hallo max5moritz,

das geht schon, Du musst die in Batchscript als Steuerzeichen interpretierten Zeichen jedoch "escapen". In Deinem Beispiel sind es nur Prozentzeichen, die muss man nur verdoppeln. Andere Zeichen (z.B. &, <, >, |, ^) muss man mit ^ "escapen", das ^-Zeichen wird dann so ^^ "escaped".

Dein Script in funktionierender Form:
01.
:start-set 
02.
> "%~dp0start-set.bat" echo.if "%%~1"=="progs" goto :%%~1 
03.
>>"%~dp0start-set.bat" echo.:start 
04.
>>"%~dp0start-set.bat" echo. 
05.
>>"%~dp0start-set.bat" echo.:progs 
06.
>>"%~dp0start-set.bat" echo.Diesen Bereich anpassen und abspeichern. 
07.
>>"%~dp0start-set.bat" echo. 
08.
>>"%~dp0start-set.bat" echo.if "%%~2"=="" (goto :eof) else (goto :%%~2) 
09.
>>"%~dp0start-set.bat" echo. 
10.
>>"%~dp0start-set.bat" echo.:stamp 
11.
>>"%~dp0start-set.bat" echo.set "stamp=%%date:~-4%%%%date:~3,2%%%%date:~0,2%%_%%time::=%%" 
12.
>>"%~dp0start-set.bat" echo.set "stamp=%%stamp:~0,-3%%" 
13.
>>"%~dp0start-set.bat" echo.goto :eof 
14.
>>"%~dp0start-set.bat" echo. 
15.
>>"%~dp0start-set.bat" echo.:ende 
16.
 
17.
ping -n 2 localhost 1>NUL 2>NUL 
18.
notepad "%~dp0start-set.bat"
Gruß
Friemler
Bitte warten ..
Mitglied: max5moritz
28.01.2013 um 20:44 Uhr
@Friemler

Herzlichen Dank, und optisch so schön, das gefällt mir. Und findet auch gleich dort und da seine Anwendung.

Gruß
max5moritz
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Eingabe in Datei schreiben (2)

Frage von MedicalAd zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (16)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...