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

Rahmen-Sonderzeichen ausgeben

Frage Entwicklung Batch & Shell

Mitglied: mathe172

mathe172 (Level 1) - Jetzt verbinden

05.08.2010 um 16:36 Uhr, 9347 Aufrufe, 4 Kommentare

Hallo zusammen!

Ich bin an einer Batch dran, die bestimmte Aufgaben automatisieren soll,hauptsächlich für solche, die es sonst nicht checken.Jetzt wollte ich mit diesen Rahmenzeichen der Codepage 850 (═,╔,╚,║,╝,╗,...) so eine Art Kopfzeile machen. Also hab ich die Zeichen mal ausprobiert im Prompt (Also "Alt+2+0+0" oder so). Hat alles auch super geklappt. Nun wollt ich das ganze in die Batch schreiben (Also etwa: echo.╔══╗). Jetzt spuckt er aber nur Blödsinn aus (ÔèÉ). Wenn ich aber im Fenster direkt "echo.╔══╗" eingebe, funktioniert es.
Danach habe ich den ganzen Rahmen mal nur mit "#" gemacht. Dabei fiel mir auf, das wenn ich die ganze Zeile mit "#" (bei mir 80) fülle, dass es dann eine Leerzeile gibt.
Kennt jemand eines dieser Probleme? Wenn eines gelöst würde, würde es im Notfall(wenn das andere überhaupt nicht geht) reichen.

Mathe172
Mitglied: jeb-the-batcher
05.08.2010 um 19:38 Uhr
Hallo Mathe172,

dein Rahmenproblem ist ein Zeichensatzproblem
Teste einfach mal auf der Kommandozeile:

01.
echo @echo ╚╔ >> c:\temp\rahmen.bat
Danach sollte rahmen.bat die Rahmenzeichen korrekt ausgeben, und mit ein Editor Deiner Wahl wird Dir scheinbarer Zeichenmüll angezeigt, aber an sich klappt es so.

Das Problem mit den 80 Zeichen ist dadurch begründet, dass nach einer Ausgabe mit echo immer ein CR/LR ausgegeben wird.
Da aber bereits 80 Zeichen ausgegeben wurden steht der Cursor bereits in der nächsten Zeile ein CR/LF bewirkt dann eine Leerzeile.
Entweder die "80er" Zeilen einfach ausgeben mit (hängt kein CR/LF an die Ausgabe an)
01.
 <nul set /p .=Mein Rahmen
Oder man baut seinen Rahmen so, dass er mit nur einem Echo ausgegeben wird
01.
echo %RamenZeile1%%RamenZeile2%%RamenZeile3%...
Oder man verwendet ein LF Zeichen um mit einem Echo mehrere Zeilen direkt auszugeben
01.
@echo off 
02.
setlocal EnableDelayedExpansion 
03.
set lf=^ 
04.
 
05.
 
06.
rem Hier müssen zwei Leerzeile sein, damit das LF erzeugt werden kann 
07.
set "Line1=╔══════╗" 
08.
set "Line2=║      ║" 
09.
set "Line3=╚══════╝" 
10.
echo %Line1%!lf!%Line2%!lf!%Line2%!lf!%Line3%
Bitte warten ..
Mitglied: Arano
05.08.2010 um 19:43 Uhr
Hallo mathe172

Zu 1.: Tut mir Leid, keine Ahnung.

Zu 2.: Eigentlich ganz logisch
Was macht ein echo am Ende ? Es fügt einen Zeilenumbruch hinzu !
Und schon sind es 81 Zeichen. 80 davon füllen deine erste Zeile, das letzte Zeichen (was jetzt dem Zeilenumbruch vom echo entspricht) steht damit an erster stelle in der zweiten Zeile. Nun tut ein Zeilenumbruch was ein Zeilenumbruch tun muss und macht nen Zeilenumbruch - Willkommen in Zeile DREI.
Das ist alles...


~Arano
Bitte warten ..
Mitglied: mathe172
05.08.2010 um 20:44 Uhr
Hallo zusammen!

Danke, es klappt super! Ich hab zwar beides schonmal gehört, war aber offensichlich u blöd um draufzukommen.

Mathe172
Bitte warten ..
Mitglied: pieh-ejdsch
05.08.2010 um 20:45 Uhr
Hi Mathe,

Hier etwas fertiges:
01.
::1 
02.
::: Dieses Umrahmte Menue ist so Breit wie 
03.
::: die laengste Zeile aus diesen Menue PLUS Rahmen 
04.
:::  
05.
::: Bei Maximaler Ausnutzung sind 77 Zeichen in der Breite Nutzbar 
06.
::: Dazu einfach die Variable HMax entsprechend setzen! 
07.
::: 
08.
::: Die fuehrenden 3 Doppelpunkte PLUS Leerzeichen 
09.
::: sind fuer die Menueerkennung erforderlich! 
10.
:::  
11.
::: Wenn Du das Menue Zentrieren moechtest - 
12.
::: (also vorne auch ein Leerzeichen), dann setze in die 
13.
::: For-Schleife noch jeweils ein Leerzeichen hinter echo 
14.
:::  
15.
::: Dafuer kannst Du aber nur 76 Zeichen Verwenden! 
16.
:::  
17.
::: die erste Zeile (mit ::1 ) muss so bleiben! 
18.
::: Die letzte Zeile Markiert das Ende und dient als Lineal. 
19.
::; 1...5....|....,....|....,....|....,....|....,....|....,....|....,..70|....77| 
20.
 
21.
@echo off&setlocal 
22.
 
23.
:: HMax --- Horizontale Breite 
24.
set /a HMax=0,vor=0 
25.
 
26.
setlocal enabledelayedexpansion 
27.
for /f "delims=:" %%i in ('findstr /o /b "::: ::;" "%~f0"') do (set /a Max = %%i - vor -6 
28.
	if !HMax! lss !Max! set "HMax=!Max!" 
29.
	set "vor=%%i" 
30.
31.
for /l %%i in (1,1,%HMax%) do (call set "V=!V!Í" 
32.
	call set "empty=!empty! " 
33.
34.
endlocal & (set /a HMax = %HMax% & set "empty=%empty%" & set "V=%V%") 
35.
 
36.
:: Rahmenerstellung 
37.
for /f "usebackq tokens=1,*" %%i in ("%~f0") do (set "Line=%%j%empty%" 
38.
	setlocal enabledelayedexpansion 
39.
	set "Line=!Line:~0,%HMax%! 
40.
	if "%%i" == "::1" echo É%V%» 
41.
	if "%%i" == ":::" echo º!Line!º 
42.
	if "%%i" == "::;" echo È%V%¼ 
43.
	endlocal 
44.
45.
pause 
46.
goto :eof
Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Netzwerke
IPv6-Umfrage im Rahmen der Bachelorarbeit
Frage von DominikSNetzwerke

Hallo liebe ADMINISTRATOR Community! Ich bin Student der Fachhochschule Südwestfalen. Im Rahmen meiner Bachelorarbeit führe ich eine Online-Umfrage zum ...

Off Topic
Umfrage im Rahmen meiner Master Thesis
Frage von M.WolffOff Topic3 Kommentare

Sehr geehrte Forenmitglieder, ich suche IT-Mitarbeiter kleiner und mittelständiger Unternehmen, welche an meiner Umfrage, mit dem Thema "Analyse einer ...

Windows Server
Eine APP im Citrix hat einen Rahmen der dicker ist. Wie kann man App über Citrix aufrufen, das es keinen Rahmen gibt
Frage von rainergugusWindows Server1 Kommentar

Hallo, eine APP hat im Citrix einen Rahmen . Laut Hersteller der APP ist das Citrix gesteuert. Wie kann ...

Batch & Shell
Zeile mit Sonderzeichen in txt einfügen
gelöst Frage von FaysaxBatch & Shell1 Kommentar

Hallo miteinander, ich habe folgendes Problem: Ich habe eine xml Datei in eine txt umgewandelt. Nun möchte ich am ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 8 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 15 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 17 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 20 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...