Làm cách nào tôi có thể mở ứng dụng bảng điều khiển với kích thước cửa sổ nhất định?


16

Ứng dụng tôi muốn bắt đầu là MongoDB. Nếu tôi bắt đầu bình thường, nó sẽ như thế này:

nhập mô tả hình ảnh ở đây

Tôi không thích số lượng ngắt dòng và tôi có nhiều không gian màn hình, vì vậy tôi muốn sử dụng không gian nói trên để thoát khỏi các ngắt dòng.

Tôi có thể thay đổi kích thước của cửa sổ giao diện điều khiển MODE, vì vậy tôi đã viết một tệp bó như thế này:

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

Càng xa càng tốt. Khi tôi bắt đầu tệp bó này, tôi sẽ có một cửa sổ lớn hơn, như mong muốn.

Nhưng khi tôi nhấn Ctrl+ Cđể thoát MongoDB, tôi nhận được lời nhắc khó chịu:

Terminate batch job (Y/N)?

Điều này là vô ích, bởi vì lệnh tôi vừa thoát ra là lệnh cuối cùng trong công việc hàng loạt và dù tôi có trả lời gì đi nữa, kết quả vẫn như vậy.

Vì vậy, làm thế nào tôi có thể có được một cửa sổ giao diện điều khiển lớn hơn cho ứng dụng mà không cần phải nhắc đó khi tôi nhấn Ctrl+ C?

Câu trả lời:


12

Tôi đã dành vài giờ hôm nay để thực hiện một ứng dụng C # nhỏ có thể bao bọc một ứng dụng bảng điều khiển khác và điều chỉnh kích thước cửa sổ của máy chủ bảng điều khiển.

console-wrapperrất dễ sử dụng Nó chỉ mong đợi một vài tham số dòng lệnh:

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

--width--heightđược sử dụng để đặt kích thước của cửa sổ giao diện điều khiển kết quả. --subjectcó thể được sử dụng tùy ý, nếu nó bị bỏ qua, các tham số còn lại được coi là lệnh (có tham số) để bắt đầu.

Vì vậy, cuộc gọi cuối cùng tôi đang sử dụng trong kịch bản khởi động của chúng tôi là:

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

Cửa sổ kết quả sẽ có kích thước được yêu cầu và khi nhấn Ctrl+ C, cửa sổ sẽ đóng lại (sau khi đã tắt đúng quy trình được chứa).


6

Bạn đã xem xét việc chạy nó từ một kịch bản powershell? Powershell có khả năng thay đổi kích thước cửa sổ của chính nó

$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.

Điều này tạo ra một cửa sổ với kích thước 150 nhưng cũng có bộ đệm có thể cuộn ngang 300.


Vâng, tôi đã xem xét nó, nhưng không biết làm thế nào để thực hiện nó vào thời điểm đó. Điều này hoạt động hoàn hảo, ngoại trừ một chút khó chịu khi thực thi các tập lệnh có thể bị vô hiệu hóa.
Der Hochstapler

5

Theo như tôi hiểu câu hỏi, bạn muốn MongoDB có kích thước được chỉ định của cửa sổ giao diện điều khiển và thoát khi bạn nhấn Ctrl+ C. Sau đó, câu trả lời khá đơn giản: sử dụng phím tắt để bắt đầu nó.

Tôi không có mongodkhả năng thực thi, vì vậy tôi sẽ sử dụng perl.exelàm ví dụ. Khi bạn khởi động nó từ hộp thoại Run ( Windows+ R), kích thước của cửa sổ giao diện điều khiển sẽ là tiêu chuẩn 80 × 25 với kích thước bộ đệm cho 300 dòng.

  1. Tạo một lối tắt đến mongod(hoặc perltrong trường hợp của tôi).
  2. Bấm chuột phải vào phím tắt và bấm Thuộc tính .
    1. Trên tab Shortcut trong trường Target , thêm tham số vào mongod.
    2. Bắt đầu trong trường điều khiển thư mục hiện tại ban đầu của chương trình bắt đầu. Theo mặc định, nó sẽ là thư mục chứa .exe.
  3. Nhấp vào tab Bố cục .
    1. Thay đổi kích thước cửa sổ thành 140 × 70.
      Thuộc tính phím tắt, tab Bố cục
    2. Bạn có thể tăng chiều cao của kích thước bộ đệm Screen đến 1000 trở lên để có thể di chuyển lên đến tin nhắn cũ.
    3. Nếu bạn xóa cửa sổ vị trí hệ thống , bạn có thể chỉ định vị trí của cửa sổ giao diện điều khiển trên màn hình.
  4. Nhấn OK để đóng thuộc tính phím tắt.

Bây giờ khi bạn nhấp vào phím tắt này, cửa sổ giao diện điều khiển sẽ có kích thước được chỉ định. Khi bạn nhấn Ctrl+ C, ứng dụng sẽ thoát và cửa sổ sẽ đóng mà không có bất kỳ lời nhắc bổ sung nào.


Bạn cũng có thể thay đổi bố cục của cửa sổ sau khi bạn khởi chạy nó từ hộp thoại Run . Bấm chuột phải vào tiêu đề của cửa sổ giao diện điều khiển và bấm Thuộc tính . Bấm vào tab Bố cục , điều chỉnh kích thước cửa sổ và bấm OK để đóng các thuộc tính và áp dụng các thay đổi ngay lập tức. (Nếu cửa sổ được bắt đầu từ phím tắt, các thuộc tính của phím tắt được cập nhật.)

Lần tới khi bạn khởi động cùng một ứng dụng, kích thước của cửa sổ giao diện điều khiển sẽ có cùng kích thước. (Tôi đã không kiểm tra lần này nhưng nó đã hoạt động.)


Vị trí của mongod.exekhông cố định. Nó sẽ thay đổi tùy thuộc vào việc triển khai ứng dụng. Đó là lý do tại sao tôi đã nhắm đến một giải pháp thông qua bảng điều khiển trực tiếp. Khi tôi đặt một đường dẫn tương đối trong các trường thư mục đích hoặc làm việc cho một lối tắt, nó sẽ không chấp nhận chúng :(
Der Hochstapler

@OliverSalzburg Bạn đã thử cách tiếp cận bắt đầu lại đợt chưa? Ý tôi là lô của bạn tự khởi động thông qua start cmd /kvà chuyển một tham số bổ sung hoặc đặt biến môi trường. Ví dụ thứ hai sau đó thay đổi kích thước cửa sổ giao diện điều khiển và bắt đầu mongod.exe.
Alexey Ivanov

Vâng, tôi đã thử rất nhiều thứ. Nhưng miễn là có một tệp bó có liên quan, giải pháp sẽ bị Terminate batch job (Y/N)?nhắc nhở: \ Tôi thực sự vừa hoàn thành việc thực hiện một ứng dụng trình bao bọc để giải quyết vấn đề này cho tôi.
Der Hochstapler

@OliverSalzburg Nó sẽ là một tiện ích rất hữu ích. Tôi cũng nghĩ rằng một bọc sẽ là cách duy nhất mà
Alexey Ivanov

3

Các thiết lập bố trí bàn điều khiển mặc định sống ở đây trong sổ đăng ký:

[HKEY_CURRENT_USER\Console]

Bạn có thể sửa đổi các cài đặt này và chúng sẽ áp dụng cho TẤT CẢ các cửa sổ lệnh khởi chạy, bất kể đường dẫn. Thật không may, các giá trị thô không thân thiện với con người.

Để đặt chúng theo cách bạn muốn, hãy mở cửa sổ cmd thông thường, sau đó chỉnh sửa cài đặt theo ý thích của bạn. Nhìn vào sổ đăng ký ở đường dẫn trên và bạn sẽ thấy khóa phụ trong "Bảng điều khiển" cho cmd.exe. Xuất khóa đó sang một tệp, thay đổi đường dẫn ở trên và nhập hoặc chỉ sao chép thủ công các giá trị từ cái này sang cái khác. Sau đó, bạn có thể xóa mục cụ thể cmd.exe. Bây giờ, tất cả các cửa sổ lệnh mở sẽ sử dụng mặc định đã sửa đổi.

Tôi đã thấy thuận tiện khi tạo một vài tệp mục đăng ký với mặc định tiêu chuẩn của mình để tôi có thể dễ dàng bật chúng lên máy chủ mới khi tôi RDP lần đầu tiên. Tôi đã đặt trước cho hai kích cỡ tôi thường sử dụng.

Đối với 1024 x 768 (Tôi sử dụng điều này cho các máy chủ thường được truy cập thông qua công cụ RDP nhiều phiên):

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

Đối với 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

0

Đặt Startlệnh trước khi gọi mongodb. Tôi tin rằng nên sửa nó.


Không, điều đó mở MongoDB trong một cửa sổ giao diện điều khiển mới. Khi tôi sử dụng, start /bnó sẽ để cửa sổ giao diện điều khiển mở sau khi tôi nhấn Ctrl + C.
Der Hochstapler

0

Nếu bạn vui lòng chạy một tệp bó cùng với một vài chương trình trợ giúp nhỏ, một giải pháp hoàn chỉnh được tôi đăng ở đây:
Làm thế nào một tệp bó có thể chạy một chương trình và đặt vị trí và kích thước của cửa sổ?

Nội dung như dưới đây. . . .

Tệp bó demo này sẽ chạy một chương trình dòng lệnh và đặt vị trí và kích thước của cửa sổ bảng điều khiển Command Prompt của nó. Chủ đề chung của đợt này giống như hai giải pháp trước đó (tại trang Stack Overflow trong liên kết ở trên), nhưng có một số vấn đề và cách giải quyết duy nhất để thực hiện công việc này - đây là cửa sổ Dấu nhắc Lệnh được lưu trữ bởi 'CMD .EXE 'chứ không phải cửa sổ GUI như' EXPLORER.EXE '.

Đọc tất cả các ý kiến ​​và mô tả trong tệp bó để biết thêm.

Các công cụ được sử dụng:
1.   MonitorInfoView  by Nir Sofer (41 KB)
2.   NirCmd  by Nir Sofer (43 KB)
3.   GetPID  của Daniel Scheibli (280 KB)
4.   upx.exe  --- là chương trình dòng lệnh chúng tôi sẽ sử dụng cho bản demo này; đặt nó trong cùng thư mục với tập tin bó.
5. Một tệp bó --- xem bên dưới

Tập hợp tất cả năm tệp vào một thư mục. Đây là tệp bó, sẵn sàng để chạy trên bất kỳ hệ thống Windows nào.

Những gì bản demo này sẽ làm, ngoài việc hiển thị cho bạn một cửa sổ giao diện điều khiển tùy chỉnh, nó sẽ chạy upx.exevới các công tắc dòng lệnh--best -v -o getpids-compressed.exe getpids.exe. Chúng tôi sẽ nén công cụ 'GetPID' xuống còn 88 KB ........ Sau khi khởi chạy, nhấp đúp vào thanh tiêu đề của cửa sổ bảng điều khiển này để xem một hiện tượng thú vị; cửa sổ giao diện điều khiển này hoạt động như một GUI!

@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

Nó cũng hoàn toàn tốt để sao chép các nội dung có liên quan ở đây, quá.
slhck
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.