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

Bildschirmposition dem Ausgabefenster einer Batch vorgeben

Frage Entwicklung Batch & Shell

Mitglied: onegasee59

onegasee59 (Level 2) - Jetzt verbinden

28.05.2007, aktualisiert 18.10.2012, 14214 Aufrufe, 7 Kommentare

Hallo,

in Zusammenhang mit http://www.administrator.de/Ausgabefenster_fuer_lange_Zeichenketten.htm ... habe ich Fragen.
Ich wollte nicht im Thread dazwischen posten.

Der mode-Befehl ist mir bisher nur bekannt als "mode x,y" (x= Breite, y= Länge des Ausgabefensters)
Die Variante von bastla mit "mode con cols=x" (x=zahl) aus obigem Thread kannte ich bisher nicht (funktioniert einwandfrei)

Generelles Problem:
Ich habe noch keine Lösung für die Festlegung der Bildschirmposition eines Batch-Ausgabefensters.

1.
Was bewirkt die Angabe "con cols=200" genau?
Ist es Zufall oder öffnet sich damit ein Batchfenster immer annähernd genau in Vollbild?
Bei mir ist es ca. 8mm breiter als Vollbild.

2.
Die Ausgabefenster einer Batch öffnen standardmäßig bei jedem Neustart an anderer Bildschirm-Position.
Gibt es einen Befehl mit der ich dem Ausgabefenster einer Batch die Bildschirmposition fest vorgeben kann?

Danke
gruß
onegasee59
Mitglied: bastla
29.05.2007 um 01:12 Uhr
Hallo onegasee59!

Was bewirkt die Angabe "con cols=200" genau?
... ist nur die ausführlichere Schreibweise zur Festlegung der "Spaltenanzahl", also der Anzahl von Zeichen je Zeile oder der "Breite"; siehe auch die Hilfe zu "mode".

Ist es Zufall oder öffnet sich damit ein Batchfenster immer annähernd genau in Vollbild?
Nur eine Annahme (Biber wird es natürlich genau wissen ): Wenn aufgrund der eingestellten Schrift und der vorgegebenen Zeichenanzahl das Fenster zu breit wäre, wird es auf die von Dir beschriebene (annähernd Vollbild-) Größe (mit horizontalem Scrollbalken) gesetzt.
Eine Möglichkeit zur exakten Positionierung (und auch Größenvorgabe) findest Du im Systemmenü des CMD-Fensters (Register "Layout"). Wenn Du bei der Bestätigung Deiner Einstellungen "Eigenschaften gelten für alle Fenster mit gleichem Namen" wählst, sollte die Position/Größe damit auch für die Zunkunft fixiert sein.

Für manuell aufzurufende Konsolenfenster kannst Du eine Verknüpfung zur "%windir%\System32\cmd.exe" erstellen und in den Eigenschaften der Verknüpfung ebenfalls "Layout"-Einstellungen vornehmen.

Grüße
bastla
Bitte warten ..
Mitglied: 45753
29.05.2007 um 06:32 Uhr
Moin!

Nachdem mir Bastla den Anstoss in die richtige Richtung gegeben hat, hab ich damit nun ein bischen experimentiert. Schriftgroesse usw. wurden nicht veraendert:

---

Zu Frage 1:

Also der komplette Befehl fuer die Fenstergrossenangabe lautet:
mode con cols=80 lines=25

Das ist zugleich auch die Standardgroesse des Shellfensters.

wenn man nur cons=80 angibt, dann gilt diese Zahl auch fuer die Lines.
cols=80 bedeutet, dass die Zeile 80 Zeichen lang ist.

Bei 1024x768 waere cons=128 Bildschirmfuellend:
128x8=1024.
Bei 1600x1200 waeren es cols=200.
200x8=1600

Um den Scrollbalken auf der rechten Seite zu entfernen, musst du lines mitangeben.

1024x768:
768:16=59
Naja, nicht ganz richtig. Aber bei mir ist 59 die maximale Zeilenanzahl ohne den rechten Scrollbalken.

Fullscreen

mode con cols=128 lines=59 bei 1024x678
mode con cols=200 lines=95 bei 1600x1200

---

zu Frage 2:

Nun braeuchte man noch den passenden Befehl fuer Vollbild...
Das Fenster oeffnet sich wie schon erwaehnt immer wo anders...

mit nircmd und dem Befehl "nircmd win [action] [Additional Parameters]" koennte man es vielleicht schaffen.

Beispiel fuer den IE:
nircmd win setsize class "IEFrame" 50 50 400 300

Da das Shellfenster kein normales Windowsfenster ist wird das wohl nicht funktionieren...

Genauso wenig ist es moeglich das Shellfenster mit diversen Hilfen in den System-Tray zu minimieren...

Doch das hier funktioniert

nircmd win center class "ConsoleWindowClass" zum Zentrieren des Fensters
nircmd win max class "ConsoleWindowClass" zum Maximieren des Fensters


Grüsse,
wobleibtdiezeit
Bitte warten ..
Mitglied: onegasee59
29.05.2007 um 07:36 Uhr
Hallo,

vielen Dank bastla und wobleibtdiezeit

Genauso wenig ist es moeglich das Shellfenster mit diversen Hilfen in den System-Tray zu minimieren...

Nicht dafür, aber fürs verstecken hätte ich was

Erstelle dir mit notepad ein vbs-script (z.Bsp.: hide-cmd.vbs) mit
nachfolgendem Inhalt, welches deine CMD aufruft. Packe dein *.vbs und
die *.cmd ins _gleiche_ Verzeichnis.

-----snipp-----
Set WshShell = WScript.CreateObject( "WScript.Shell" )
WshShell.Run "c:\test.cmd",0,True
-----snapp-----

den pfad "c:\test.cmd" musst Du an deine Bedingungen natürlich
anpassen. Der zweite Wert "0" erzeugt das versteckte Fenster.
Unter WIN 98/ME muss ".cmd" durch ".bat" ersetzt werden


oder mit "Cmdow"
http://www.wintotal.de/yad/index.php?id=2961
http://www.commandline.co.uk/cmdow/index.html

gruß
onegasee59
Bitte warten ..
Mitglied: 45753
29.05.2007 um 16:55 Uhr
Hallo onegasee59

cmdow ist Gold wert. Die Examples auf deren Website ebenso. Und die cmd /? ist leicht zu verstehen. So macht das Spass.

Deine vbs = cmdow:

cmdow /run /hid c:\test.cmd

Die Lösung zur Frage 2:

::----- cmdow - Fenster verschieben und neuen Namen geben.bat -----
cmdow %systemroot%\system32\cmd.exe /mov 100 200 /ren "* %~n0 *" /act

@echo off
echo.
pause
::-----

Was ich schon immer haben wollte und mit cmdow nun funktioniert:

::----- cmdow - Fenster Infos.bat -----
@echo off

cmdow %systemroot%\system32\cmd.exe /mov 100 200 /ren "* %~n0 *" /act

echo.
echo * details of only the windows listed on the taskbar *
echo.
cmdow /t
echo.
pause
cls

echo.
echo * details and positions of only the windows listed on the taskbar *
echo.
cmdow /t /p
echo.
pause
cls

if exist "%temp%\cmdow - details of all windows.txt" del /f /q "%temp%\cmdow - details of all windows.txt"

echo * details of all windows * > "%temp%\cmdow - details of all windows.txt"
echo. >> "%temp%\cmdow - details of all windows.txt"
cmdow >> "%temp%\cmdow - details of all windows.txt"
start notepad "%temp%\cmdow - details of all windows.txt"

goto :eof
::-----

Gruesse,
wobleibtdiezeit
Bitte warten ..
Mitglied: 45753
29.05.2007, aktualisiert 18.10.2012
Hallo nochmal.

Biber verwieß noch auf diesen Link: http://www.administrator.de/forum/batch-.bat-zeigt-maximal-nur-ca.150-z ...

Dabei sind mir ein paar ungereimtheiten aufgefallen, die ich noch gern geklaert haette und die in der Batch dargestellt werden.


01.
@echo off 
02.
cls 
03.
 
04.
echo. 
05.
echo  *** Suchen nach urspruenglichen cols und lines Werten *** 
06.
echo. 
07.
 
08.
for /f "tokens=2" %%i in ('mode con^|find "Spalten"') do set oldcols=%%i 
09.
for /f "tokens=2" %%i in ('mode con^|find "Zeilen"') do set oldlines=%%i 
10.
 
11.
echo  Momentaner Wert von cols (Spalten) = %oldcols%  
12.
echo  Momentaner Wert von lines (Zeilen) = %oldlines%  
13.
echo. 
14.
echo  ?!? Das Fenster hat die Standardhoehe von 25 Zeilen ?!? 
15.
echo  ?!? Der Scrollbalken geht aber runter bis auf Zeile 300 ?!? 
16.
echo. 
17.
set dummychoice= 
18.
set /p dummychoice= [ENTER] 
19.
 
20.
mode con cols=128 lines=59 
21.
 
22.
echo. 
23.
echo  *** Waechsel zu den Werten cols=128 lines=59 wurde durchgefuehrt *** 
24.
echo. 
25.
echo  *** Befehl: mode con cols=128 lines=59 *** 
26.
echo. 
27.
echo 0        10        20        30        40        50        60        70        80        90        100       110       120      
28.
echo 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 
29.
echo  Zeile 09 
30.
echo  Zeile 10 
31.
echo  Zeile 11 
32.
echo  Zeile 12 
33.
echo  Zeile 13 
34.
echo  Zeile 14 
35.
echo  Zeile 15 
36.
echo  Zeile 16 
37.
echo  Zeile 17 
38.
echo  Zeile 18 
39.
echo  Zeile 19 
40.
echo  Zeile 20 
41.
echo  Zeile 21 
42.
echo  Zeile 22 
43.
echo  Zeile 23 
44.
echo  Zeile 24 
45.
echo  Zeile 25 
46.
echo  Zeile 26 
47.
echo  Zeile 27 
48.
echo  Zeile 28 
49.
echo  Zeile 29 
50.
echo  Zeile 30 
51.
echo  Zeile 31 
52.
echo  Zeile 32 
53.
echo  Zeile 33 
54.
echo  Zeile 34 
55.
echo  Zeile 35 
56.
echo  Zeile 36 
57.
echo  Zeile 37 
58.
echo  Zeile 38 
59.
echo  Zeile 39 
60.
echo  Zeile 40 
61.
echo  Zeile 41 
62.
echo  Zeile 42 
63.
echo  Zeile 43 
64.
echo  Zeile 44 
65.
echo  Zeile 45 
66.
echo  Zeile 46 
67.
echo  Zeile 47 
68.
echo  Zeile 48 
69.
echo  Zeile 49 
70.
echo  Zeile 50 
71.
echo  Zeile 51 
72.
echo  Zeile 52 
73.
echo  Zeile 53 
74.
echo  Zeile 54 
75.
echo  Zeile 55 
76.
echo  Zeile 56 
77.
echo  Zeile 57 
78.
echo  Zeile 58 
79.
set dummychoice= 
80.
set /p dummychoice= Zeile 59 [ENTER] 
81.
 
82.
mode con cols=%oldcols% lines=%oldlines% 
83.
 
84.
echo. 
85.
echo  *** Waechsel zu den alten Werten cols=%oldcols% lines=%oldlines% wurde durchgefuehrt *** 
86.
echo. 
87.
echo  *** Befehl: mode con cols=%oldcols% lines=%oldlines% *** 
88.
echo. 
89.
echo  ?!? Beim zuruecksetzen der alten Werte wird das Fenster ?!? 
90.
echo  ?!? leider automatisch auf Maximalhoehe des Bildschirms gestraeckt ?!? 
91.
echo. 
92.
set dummychoice= 
93.
set /p dummychoice= [ENTER] 
94.
 
95.
mode con cols=80 lines=25 
96.
 
97.
echo. 
98.
echo  *** Waechsel zurueck zur standard Fenster Hoehe lines=25 wurde durchgefuehrt *** 
99.
echo. 
100.
echo  *** Befehl: mode con cols=80 lines=25 *** 
101.
echo. 
102.
echo  ?!? Das hier ist wieder die Originalhoehe des standard Fensters ?!? 
103.
echo  ?!? Jetzt ist das Fenster nur noch tatsaechliche 25 Zeilen hoch ?!? 
104.
echo  ?!? Der Scrollbalken der vorher bis Zeile 300 ging ist verschwunden ?!? 
105.
echo  ?!? Ohne Scrollbalken wird leider generel kein Scrollen mehr moeglich sein ?!? 
106.
echo. 
107.
set dummychoice= 
108.
set /p dummychoice= [ENTER] 
109.
 
110.
mode con cols=83 lines=25 
111.
cmdow %systemroot%\system32\cmd.exe /max /act 
112.
mode con cols=%oldcols% lines=%oldlines% 
113.
cmdow %systemroot%\system32\cmd.exe /res /act 
114.
 
115.
echo. 
116.
echo  *** Waechsel zurueck zum Originalzustand wurde durchgefuehrt *** 
117.
echo. 
118.
echo  *** Befehl: mode con cols=83 lines=25 *** 
119.
echo  *** Befehl: cmdow %systemroot%\system32\cmd.exe /max /act 
120.
echo  *** Befehl: mode con cols=%oldcols% lines=%oldlines% *** 
121.
echo  *** Befehl: cmdow %systemroot%\system32\cmd.exe /res /act 
122.
echo. 
123.
echo  ?!? Was bei diesem Vorgang genau passiert und wieso es so funktioniert ?!? 
124.
echo  ?!? kann ich nicht zu 100 Prozent sagen. Im Fullscreen-Modus ist das ?!? 
125.
echo  ?!? Fenster offenbar fixiert. cols und lines Aenderungen koennen so nicht ?!? 
126.
echo  ?!? direkt auf das Fenster angewendet werden. Wenn man aus dem Fullscreen ?!? 
127.
echo  ?!? wieder zurueck zum Fenster-Modus waechselt, dann bekommt das Fenster ?!? 
128.
echo  ?!? auf jeden Fall seine alten Masse wieder zurueck und das selbst dann ?!? 
129.
echo  ?!? wenn man cols und lines Aenderungen im Fullscreen-Modus vorgenommen ?!? 
130.
echo  ?!? hat. Dieses Fenster zeigt nun wieder den Originalzustand eines ?!? 
131.
echo  ?!? Shell-Fensters mit den korrekten Fenstermassen und dem Scrollbalken ?!? 
132.
echo  ?!? der bis zur Zeile 300 herunterreicht. Der cols-Wert 83 aus dem ersten ?!? 
133.
echo  ?!? Befehl ergibt sich aus dem 3 Zeichen breiten Scrollbalken. ?!? 
134.
echo  ?!? Taete man die zusaetzlichen 3 cols nicht dazuaddieren, dann wuerde ?!? 
135.
echo  ?!? das Fenster schlussendlich einen zusaetzlichen unteren Scrollbalken ?!? 
136.
echo  ?!? erhalten. ?!? 
137.
echo. 
138.
set dummychoice= 
139.
set /p dummychoice= [ENDE] 
140.
 
EDIT: Ich hoffe meine Frage aus dem zweiten Screen hatte noch keiner geselen. Ich bin in der Zeile verrutscht und berichtete ueber angebliche 69 Zeilen...

Gruesse
wobleibtdiezeit
Bitte warten ..
Mitglied: 45753
10.06.2007 um 04:39 Uhr
Morgen...

...und man kann das Shell-Fenster doch zu seinem Originalzustand wieder zurueckholen.

In meiner oben geposteten Batch ist nun ein fuenfter Schritt mit insgesamt 4 Befehle hinzugekommen.
Fuer diesen automatisierten Vorgang benoetigt man "cmdow".

Gruesse,
wobleibtdiezeit
Bitte warten ..
Mitglied: onegasee59
12.06.2007 um 23:56 Uhr
Hallo wobleibtdiezeit,

Danke

gruß
onegasee59
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...