Wie kann ich eine Konsolenanwendung mit einer bestimmten Fenstergröße öffnen?

16

Die Anwendung, die ich starten möchte, ist MongoDB. Wenn ich es normal starten würde, sieht es so aus:

Bildbeschreibung hier eingeben

Die Anzahl der Zeilenumbrüche gefällt mir nicht und ich habe viel Platz auf dem Bildschirm. Daher möchte ich diesen Platz nutzen, um die Zeilenumbrüche zu beseitigen.

Ich kann die Größe des Konsolenfensters mit ändern MODE, also habe ich eine Batch-Datei wie diese geschrieben:

@ECHO OFF
MODE con:cols=140 lines=70
%~dp0mongodb\bin\mongod --dbpath %~dp0data --rest

So weit, ist es gut. Wenn ich diese Batch-Datei starte, wird nach Wunsch ein größeres Fenster angezeigt.

Aber wenn ich jetzt Ctrl+ drücke C, um MongoDB zu beenden, bekomme ich die nervige Aufforderung:

Terminate batch job (Y/N)?

Das ist nutzlos, weil der Befehl, aus dem ich gerade herausgekommen bin, sowieso der letzte Befehl im Stapeljob war und das Ergebnis das gleiche ist, egal was ich antworte.

Wie kann ich ein größeres Konsolenfenster für die Anwendung erhalten, ohne diese Eingabeaufforderung zu haben, wenn ich Ctrl+ drücke C?

Der Hochstapler
quelle

Antworten:

12

Ich habe heute ein paar Stunden damit verbracht, eine kleine C # -Anwendung zu implementieren, die eine andere Konsolenanwendung umschließen und die Fenstergröße des Konsolenhosts anpassen kann.

console-wrapperist einfach zu bedienen. Es werden nur einige Befehlszeilenparameter erwartet:

Usage: console-wrapper.exe [OPTIONS]

Options:

      --subject=VALUE        The application that should be started by the
                               console wrapper.
      --width=VALUE          The desired width of the console window.
      --height=VALUE         The desired height of the console window.
  -h, -?, --help             Shows this help message

--widthund --heightwerden verwendet, um die Größe des resultierenden Konsolenfensters festzulegen. --subjectkann optional verwendet werden, wenn es weggelassen wird, werden die verbleibenden Parameter als zu startender Befehl (mit Parametern) behandelt.

Der letzte Aufruf, den ich jetzt in unserem Startskript verwende, lautet:

START "MongoDB" database\console-wrapper.exe --width=140 --height=70 %~dp0database\mongodb\bin\mongod.exe --dbpath %~dp0database\data --rest

Das resultierende Fenster wird die angeforderte Größe haben und beim Drücken von Ctrl+ Cwird das Fenster geschlossen (nachdem der enthaltene Prozess ordnungsgemäß heruntergefahren wurde).

Der Hochstapler
quelle
6

Haben Sie darüber nachgedacht, es über ein Powershell-Skript auszuführen? Powershell kann die Größe seines eigenen Fensters ändern

$h = Get-Host
$buf = $h.UI.RawUI.BufferSize
$buf.Width = 300
$h.ui.rawui.BufferSize = $buf
$win = $h.UI.RawUI.WindowSize
$win.Width = 150
$h.ui.rawui.WindowSize = $win
#Command to start mongodb here.

Dies erzeugt ein Fenster mit einer Größe von 150, hat aber auch einen seitlich scrollbaren Puffer von 300.

Scott Chamberlain
quelle
Ja, ich habe darüber nachgedacht, wusste aber zu der Zeit nicht, wie ich es implementieren sollte. Dies funktioniert einwandfrei, mit Ausnahme des leichten Ärgers, dass die Ausführung von Skripten möglicherweise deaktiviert ist.
Der Hochstapler
5

Soweit ich die Frage verstehe, soll MongoDB die angegebene Größe des Konsolenfensters haben und beendet werden, wenn Sie Ctrl+ drücken C. Dann ist die Antwort ziemlich einfach: Verwenden Sie die Verknüpfung , um es zu starten.

Ich habe keine mongodausführbare Datei, daher würde ich sie perl.exeals Beispiel verwenden. Wenn Sie es über das Dialogfeld " Ausführen " ( Windows+ R) starten , beträgt die Größe des Konsolenfensters standardmäßig 80 × 25 mit einer Puffergröße für 300 Zeilen.

  1. Erstellen Sie eine Verknüpfung zu mongod(oder perlin meinem Fall).
  2. Klicken Sie mit der rechten Maustaste auf die Verknüpfung und klicken Sie auf Eigenschaften .
    1. Auf Shortcut Registerkarte in Zielfeld Parameter hinzufügen mongod.
    2. Start in Feld steuert das ursprüngliche aktuelle Verzeichnis des gestarteten Programms. Standardmäßig ist dies das Verzeichnis, in dem sich .exe befindet.
  3. Klicken Sie auf die Registerkarte Layout .
    1. Ändern Sie die Fenstergröße auf 140 × 70.
      Verknüpfungseigenschaften, Registerkarte Layout
    2. Sie können die Erhöhung Höhe der Fensterpuffergröße auf 1000 oder mehr in der Lage sein , um ältere Nachrichten zu blättern.
    3. Wenn Sie das Kontrollkästchen Systempositionsfenster freigeben deaktivieren , können Sie die Position des Konsolenfensters auf dem Bildschirm angeben.
  4. Klicken Sie auf OK , um die Verknüpfungseigenschaften zu schließen.

Wenn Sie nun auf diese Verknüpfung klicken, hat das Konsolenfenster die angegebene Größe. Wenn Sie Ctrl+ drücken C, wird die Anwendung beendet und das Fenster ohne zusätzliche Eingabeaufforderungen geschlossen.


Sie können das Layout des Fensters auch ändern, nachdem Sie es über das Dialogfeld " Ausführen " gestartet haben . Klicken Sie mit der rechten Maustaste auf den Titel des Konsolenfensters und klicken Sie auf Eigenschaften . Klicken Sie auf die Registerkarte Layout , passen Sie die Fenstergröße an und klicken Sie auf OK , um die Eigenschaften zu schließen und die Änderungen sofort zu übernehmen. (Wenn das Fenster über eine Verknüpfung gestartet wurde, werden die Eigenschaften der Verknüpfung aktualisiert.)

Wenn Sie das nächste Mal dieselbe Anwendung starten, wird die Größe des Konsolenfensters auf magische Weise dieselbe sein. (Ich habe es dieses Mal nicht überprüft, aber es hat funktioniert.)

Alexey Ivanov
quelle
Der Standort von mongod.exeist nicht festgelegt. Dies hängt von der Bereitstellung der Anwendung ab. Aus diesem Grund habe ich direkt über die Konsole nach einer Lösung gesucht. Wenn ich einen relativen Pfad in die Ziel- oder Arbeitsverzeichnisfelder für eine Verknüpfung einfüge, werden diese nicht akzeptiert :(
Der Hochstapler
@OliverSalzburg Haben Sie versucht, die Charge neu zu starten ? Ich meine, Ihr Batch startet sich von selbst start cmd /kund übergibt einen zusätzlichen Parameter oder legt eine Umgebungsvariable fest. Die zweite Instanz ändert dann die Konsolenfenstergröße und startet mongod.exe.
Alexey Ivanov
Ja, ich habe viele Dinge ausprobiert. Solange es sich jedoch um eine Batchdatei handelt, leidet die Lösung unter der Terminate batch job (Y/N)?Aufforderung: \ Ich habe gerade die Implementierung einer Wrapper-Anwendung abgeschlossen , um das Problem für mich zu lösen.
Der Hochstapler
@OliverSalzburg Es wird ein sehr nützliches Dienstprogramm sein. Ich dachte auch, ein Wrapper wäre der einzige Weg ...
Alexey Ivanov
3

Die Standardeinstellungen für das Konsolenlayout befinden sich hier in der Registrierung:

[HKEY_CURRENT_USER\Console]

Sie können diese Einstellungen ändern. Sie gelten für ALLE Befehlsfenster, die unabhängig vom Pfad gestartet werden. Leider sind die Rohwerte nicht menschenfreundlich.

Öffnen Sie ein normales cmd-Fenster, und bearbeiten Sie die Einstellungen nach Ihren Wünschen, um sie nach Ihren Wünschen festzulegen. Suchen Sie in der Registrierung nach dem obigen Pfad, und unter "Console" für cmd.exe sollte ein Unterschlüssel angezeigt werden. Exportieren Sie diesen Schlüssel in eine Datei, ändern Sie den Pfad in den obigen und importieren Sie ihn oder kopieren Sie die Werte einfach manuell von einem zum anderen. Anschließend können Sie den für cmd.exe spezifischen Eintrag löschen. Jetzt verwenden alle Befehlsfenster, die geöffnet werden, die geänderten Standardeinstellungen.

Ich fand es praktisch, ein paar Registrierungseintragsdateien mit meinen Standardeinstellungen zu erstellen, damit ich sie beim ersten RDP-Start problemlos auf einen neuen Server kopieren kann. Ich habe Presets für die beiden Größen erstellt, die ich normalerweise verwende.

Für 1024 x 768 (ich verwende dies für Server, auf die normalerweise über ein Multisession-RDP-Tool zugegriffen wird):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console]
"ScreenBufferSize"=dword:012c0050
"WindowSize"=dword:00190050
"WindowPosition"=dword:000a000a
"FontSize"=dword:000c0007
"FontFamily"=dword:00000030
"FontWeight"=dword:00000190
"FaceName"="Terminal"
"QuickEdit"=dword:00000001

Für 1280 x 1024:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console]
"ScreenBufferSize"=dword:0bb800af
"WindowSize"=dword:004b00af
"WindowPosition"=dword:000a000a
"FontSize"=dword:000c0007
"FontFamily"=dword:00000030
"FontWeight"=dword:00000190
"FaceName"="Terminal"
"QuickEdit"=dword:00000001
Peter
quelle
0

StartStellen Sie den Befehl vor den Aufruf von mongodb. Ich glaube, das sollte das Problem beheben.

Keltari
quelle
Nein, das öffnet MongoDB in einem neuen Konsolenfenster. Wenn ich es verwende start /b, wird das Konsolenfenster geöffnet, nachdem ich Strg + C gedrückt habe.
Der Hochstapler
0

Wenn Sie gerne eine Batchdatei zusammen mit ein paar winzigen Hilfsprogrammen
ausführen, habe ich hier eine vollständige Lösung für Sie veröffentlicht: Wie kann eine Batchdatei ein Programm ausführen und die Position und Größe des Fensters festlegen?

Inhalt wie unten. . . .

Diese Demo-Batch-Datei führt ein Befehlszeilenprogramm aus und legt die Position und Größe des Eingabeaufforderungs-Konsolenfensters fest. Das allgemeine Thema dieses Stapels ist dasselbe wie in den beiden vorherigen Lösungen (auf der Seite "Stapelüberlauf" im obigen Link), es gab jedoch einige eindeutige Probleme und Problemumgehungen, damit dies funktioniert - dies ist ein Eingabeaufforderungsfenster, das von 'CMD gehostet wird .EXE und kein GUI-Fenster wie 'EXPLORER.EXE'.

Lesen Sie alle Kommentare und die Beschreibung in der Batch-Datei, um weitere Informationen zu erhalten.

Verwendete Tools:
1.   MonitorInfoView  von Nir Sofer (41 KB)
2.   NirCmd  von Nir Sofer (43 KB)
3.   GetPIDs  von Daniel Scheibli (280 KB)
4.   upx.exe  --- ist das Kommandozeilenprogramm, das wir für diese Demo verwenden werden; Legen Sie es in dasselbe Verzeichnis wie die Batch-Datei.
5. Eine Batch-Datei --- siehe unten

Sammeln Sie alle fünf Dateien in einem Verzeichnis. Dies ist die Batch-Datei, die auf jedem Windows-System ausgeführt werden kann.

Dieser Demo-Stapel wird nicht nur ein benutzerdefiniertes Konsolenfenster anzeigen, sondern auch upx.exemit den Befehlszeilenschaltern ausgeführt--best -v -o getpids-compressed.exe getpids.exe. Wir werden unser Tool 'GetPIDs' auf 88 KB komprimieren. Doppelklicken Sie nach dem Start auf die Titelleiste dieses Konsolenfensters, um ein interessantes Phänomen zu sehen. Dieses Konsolenfenster verhält sich wie eine grafische Benutzeroberfläche!

@echo off
setlocal enabledelayedexpansion enableextensions
pushd %~dp0%

REM ----- ADD SOME USEFUL INFORMATION TO THIS CONSOLE WINDOW TITLE.
for /f "tokens=3" %%A in ('getpids.exe') do set _PROCESS_ID_=%%A
title This batch file runs a command-line program and sets the position and size of its console window        (PROCESS ID = %_PROCESS_ID_%)

REM ********************** DESCRIPTION ************************************
REM ** This script opens a command-line program console window with specified
REM ** screen properties at the primary monitor (containing the taskbar).
REM ** The "X/Y position" and "W/H size" of the console window is auto-set by
REM ** this script and the monitor resolution is auto-calculated to suit.
REM ** 'MonitorInfoView.exe' is the helper tool used to capture the resolution
REM ** info of the monitor.
REM ** 'nircmd.exe' is the tool performing all the display trickery.
REM ** 'getpids.exe' is the helper tool used to capture the Process ID of the
REM ** working batch file, thus allowing us to identify which CMD.EXE host this
REM ** console window belongs to when looking at Task Manager.
REM **
REM ** To tweak this script, go to the code section named:
REM ** >>>>> USER INPUT/PREFERENCES ARE ALL SET HERE <<<<<
REM ***********************************************************************

REM ----- CLEAR ANY PREVIOUS JOB OUTPUTS IF THEY EXIST
if exist ~TMP.TXT type NUL > ~TMP.TXT

REM ----- OUTPUT THE PRIMARY MONITOR INFORMATION TO A TEXT FILE
MonitorInfoView.exe /hideinactivemonitors 1 /stext ~TMP.TXT

REM ----- ISOLATE THE RESOLUTION LINE, REMOVING ALL THE OTHER LINES IN THE TEXT FILE
for /f "delims=" %%A in ('type "~TMP.TXT" ^|find.exe /i "Maximum Resolution"') do echo %%A>~TMP.TXT

REM ----- GET THE RESOLUTION NUMBERS, AND SET THEM AS VARIABLES
for /f "tokens=3,4 delims=:X " %%A in ('type "~TMP.TXT"') do set _SCREENW_=%%A& set _SCREENH_=%%B


REM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
REM >>>>>>>>>> USER INPUT/PREFERENCES ARE ALL SET HERE [BEGIN] <<<<<<<<<<<<

REM ----- ----------------------------------------
REM ----- |COMMAND-LINE PROGRAM TO BE RUN:  FILE NAME (WITH EXTENSION)
REM ----- |
REM ----- | |IF PROG TO BE RUN IS 'CMD.EXE' (WINDOWS COMMAND PROCESSOR)
REM ----- | |ALSO READ THE NEXT COMMENTS ABOUT SETTING SWITCHES   

    set _MYPROGRAM_=upx.exe

REM ----- ----------------------------------------   
REM ----- |COMMAND-LINE PROGRAM TO BE RUN:  SWITCHES (TO BE PASSED TO THE PROGRAM)
REM ----- |
REM ----- | |YOU CAN LEAVE THIS VARIABLE WITH A BLANK VALUE IF RUNNING THE PROG WITHOUT ANY PARAMETERS
REM ----- | | 
REM ----- | | |IF THE VALUE CONTAINS THE CHARS  '|'  OR  '<'  OR  '>'  THIS BATCH WILL FAIL TO RUN !!!
REM ----- | | |
REM ----- | | | |YOU CAN APPEND EXTRA TEXT TO THE END OF THE COMMAND BY USING THE AMPERSAND CHARACTER '&'
REM ----- | | | | EXAMPLES:
REM ----- | | | | set _MYPROGRAMSWITCHES_=dir "%systemroot%\system32" /a/o/s/4 & this text will be ignored; useful for adding some inline comments.
REM ----- | | | | set _MYPROGRAMSWITCHES_=dir "%systemroot%\system32" /a/o/s/4         & this works too, and the extra blank spaces will also be ignored.
REM ----- | | | | 
REM ----- | | | | |IF PROG TO BE RUN IS 'CMD.EXE' (WINDOWS COMMAND PROCESSOR), PATH ARGUMENTS MUST POINT TO A SPECIFIC LOCATION
REM ----- | | | | |AND BE ABSOLUTE OR INCLUDE ENVIRONMENT VARIABLES, AND ALWAYS ENCLOSE PATHS IN QUOTES.
REM ----- | | | | | EXAMPLES:
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type "C:\Folder With Spaces\File.txt"
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type "C:\FolderWithoutSpaces\File.txt"
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type "%SYSTEMROOT%\..\Folder With Spaces\File.txt"
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type "%SYSTEMROOT%\..\FolderWithoutSpaces\File.txt"
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type %0                                       <<<<<<<this batch file (quotes are optional; the only exception to the rule)
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type "%~dp0%\..\File.txt"                     <<<<<<<goes back one Dir from this batch file
REM ----- | | | | | set _MYPROGRAMSWITCHES_=type "%~dp0%\..\SomeFolder\File.txt"          <<<<<<<goes back one Dir from this batch file and then forwards into "SomeFolder"
REM ----- | | | | | set _MYPROGRAMSWITCHES_=dir "%systemroot%\system32" /a/o/s/4          <<<<<<<displays directory listing of the System folder. NOTE: 'dir' by itself and
REM ----- | | | | |                                                                                without a specific path argument will resolve to the folder of this batch file.

    set _MYPROGRAMSWITCHES_=--best -v -o getpids-compressed.exe getpids.exe      &// original is 280 KB, will compress down to 88 KB

REM ----- ----------------------------------------
REM ----- |COMMAND-LINE PROGRAM TO BE RUN:  DIRECTORY PATH (OF THE PROGRAM)
REM ----- | 
REM ----- | |YOU CAN LEAVE THIS VARIABLE WITH A BLANK VALUE IF THE PROG IS AT SAME LOCATION AS BATCH
REM ----- | |THIS VARIABLE WILL BE IGNORED IF THE PROG IS 'CMD.EXE'
REM ----- | | 
REM ----- | | EXAMPLES:
REM ----- | | set _MYPROGRAMDIR_=.\                               <<<<<<<relative path, program and batch in same directory
REM ----- | |                                                                  dot backslash *OR* dot (trailing backslash is optional).
REM ----- | | set _MYPROGRAMDIR_=%dp0%                            <<<<<<<relative path, program and batch in same directory
REM ----- | |                                                                  same locatiion as previous but using environment variable.
REM ----- | | set _MYPROGRAMDIR_=..\                              <<<<<<<relative path, program is back one directory from batch
REM ----- | |                                                                  dot dot backslash *OR* dot dot (trailing backslash is optional).
REM ----- | | set _MYPROGRAMDIR_=%dp0%\..                         <<<<<<<relative path, program is back one directory from batch
REM ----- | |                                                                  same as location as previous but using environment variable.
REM ----- | | set _MYPROGRAMDIR_=%SYSTEMROOT%\..\My Utilities     <<<<<<<relative path, program is back one directory from the Windows folder
REM ----- | |                                                                  and then forwards into the folder 'My Utilities'
REM ----- | | set _MYPROGRAMDIR_=C:\My Utilities\                 <<<<<<<absolute path, enclosing quotes are optional; trailing backslash is optional
REM ----- | |                                                                  same location as previous

    set _MYPROGRAMDIR_=

REM ----- ----------------------------------------
REM ----- |SET THE WANTED DIMENSIONS OF THIS CONSOLE WINDOW

    set /a _WINW_=(%_SCREENW_% / 2) + 250
    set /a _WINH_=(%_SCREENH_% / 2) + 150
    set /a _WINX_=(%_SCREENW_% - %_WINW_%) / 2
    set /a _WINY_=(%_SCREENH_% - %_WINH_%) / 2

REM ----- ----------------------------------------
REM ----- |STYLE THIS CONSOLE WINDOW   !!!IMPORTANT!!!
REM ----- |
REM ----- | |IF WE DO NOT USE THE 'MODE' COMMAND HERE ALONG WITH ITS 'COLS/LINES' VALUES THEN
REM ----- | |THE POSITIONING/SIZING OF THIS WINDOW BY 'NIRCMD.EXE' FURTHER DOWN WILL NOT WORK !!!
REM ----- | |
REM ----- | | |SOME COMMANDS WILL OUTPUT A LOT OF LINES AND AND THE CONSOLE DISPLAY WILL BE TRUNCATED
REM ----- | | |RUN THIS FOR AN EXAMPLE=====>   cmd.exe dir "%systemroot%\system32" /a/o/s/4   <=====
REM ----- | | |TO SOLVE THIS PROBLEM, SET THE 'LINES' VALUE OF 'MODE' TO A VERY HIGH NUMBER
REM ----- | | |THE MAXIMUM NUMBER IS 32000 (ON MY SYSTEM); 'MODE' WILL BE IGNORED IF THE NUMBER IS HIGHER !!!   

    color 0A
    mode.com con:cols=%_SCREENW_% lines=10000

REM ----- ----------------------------------------
REM ----- |DELETE THE TEMP TEXT FILE MADE BY 'MonitorInfoView.exe'
REM ----- |COMMENT OUT THE LINE IF YOU DON'T CARE ABOUT DELETING IT

    del /f /q ~TMP.TXT 2>nul >nul

REM >>>>>>>>>> USER INPUT/PREFERENCES ARE ALL SET HERE [END] <<<<<<<<<<<<<<
REM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


REM ----- RUN THE TASK . . .
nircmd.exe win setsize foreground %_WINX_% %_WINY_% %_WINW_% %_WINH_%
popd

if not defined _MYPROGRAMDIR_ set _MYPROGRAMDIR_=%~dp0
if "!_MYPROGRAMDIR_!" == "." set _MYPROGRAMDIR_=%~dp0
if "!_MYPROGRAMDIR_!" == ".\" set _MYPROGRAMDIR_=%~dp0
pushd %_MYPROGRAMDIR_%
if not exist %_MYPROGRAMDIR_% goto _SKIP_
set _CONVERT_PATH_="%CD%"
set _CONVERT_PATH_=%_CONVERT_PATH_:"=%
set _MYPROGRAMDIR_=%_CONVERT_PATH_%
:_SKIP_
popd

echo ===============================================================================
echo PROGRAM ..............: !_MYPROGRAM_!
if "!_MYPROGRAM_!"=="cmd.exe" (echo PROGRAM DIR ..........: %SYSTEMROOT%\system32) else (echo PROGRAM DIR ..........: !_MYPROGRAMDIR_!)
echo PROGRAM SWITCHES .....: !_MYPROGRAMSWITCHES_!
echo ===============================================================================

if "!_MYPROGRAM_!"=="cmd.exe" (goto _PROGRAM_IS_CMD_) else (goto _PROGRAM_IS_OTHER_)

:_PROGRAM_IS_CMD_
cd /d "%SYSTEMROOT%\system32"
!_MYPROGRAMSWITCHES_!
echo. & echo. & echo.
goto _END_

:_PROGRAM_IS_OTHER_ 
cd /d "!_MYPROGRAMDIR_!"
if "%CD%\!_MYPROGRAM_!" == "%CD%\" goto _ERRORMESSAGE_
if not exist "%CD%\!_MYPROGRAM_!" goto _ERRORMESSAGE_
"!_MYPROGRAMDIR_!\!_MYPROGRAM_!" !_MYPROGRAMSWITCHES_!
echo. & echo. & echo.
goto _END_

:_ERRORMESSAGE_
cls
color 4F
echo ===============================================================================
echo PROGRAM ..............: !_MYPROGRAM_!
echo PROGRAM DIR ..........: !_MYPROGRAMDIR_!
echo PROGRAM SWITCHES .....: !_MYPROGRAMSWITCHES_!
echo ===============================================================================
echo                        ^^!^^!^^!  E R R O R  ^^!^^!^^!
echo.
echo The program has failed to run; the path set by the above values does not exist.
echo Please exit this window and check the values you have set in this batch file.
echo.
echo This batch file is located here:
echo %0
echo. & echo. & echo. & echo. & echo.

:_END_

REM ----- CLEAR VARIABLE VALUES FROM MEMORY . . .
set _PROCESS_ID_=
set _SCREENW_=
set _SCREENH_=
set _MYPROGRAM_=
set _MYPROGRAMSWITCHES_=
set _MYPROGRAMDIR_=
set _WINW_=
set _WINH_=
set _WINX_=
set _WINY_=
set _CONVERT_PATH_=

REM ----- STOP THIS CONSOLE WINDOW FROM CLOSING   !!!IMPORTANT!!! . . .
REM ----- |
REM ----- | http://superuser.com/questions/306167/how-to-prevent-the-command-prompt-from-closing-after-execution
REM ----- | | by 'kitsu.eb' (April 26, 2014)
REM ----- | | | "My solution (just tested on Win7) is to add CMD as the last line in the batch file.
REM ----- | | |  This runs a nested command prompt that inherits the environment of its parent.
REM ----- | | |  That child shell holds the batch process open until you EXIT, at which point the
REM ----- | | |  batch has no child processes and also exits."
REM ----- | Comment . . .
REM ----- | | by me
REM ----- | | | "This is a workaround. You can't use PAUSE as the last command to stop this window from closing
REM ----- | | |  because the window will terminate after you press a key. While this batch is running, if you open
REM ----- | | |  Task Manager/Process Hacker/Process Explorer you will see an extra CMD.EXE child process running
REM ----- | | |  under the parent CMD.EXE of this batch file."
cmd.exe
derty2
quelle
Es wäre vollkommen in Ordnung, auch hier die relevanten Inhalte zu kopieren.
Slhck