@ECHO OFF
if "%~1"=="_SO42546112_" (
shift
) else (
start "/?" cmd /D /K ""%~f0" "_SO42546112_""
exit
)
Để khởi động một mớiCMD
command prompt với /?
tiêu đề cửa sổ, nhấp đúp trên .bat
kịch bản.
Để chạy một kịch bản .bat
với /?
tiêu đề cửa sổ, sử dụng trên khái niệm ví dụ như sau:
@ECHO OFF
SETLOCAL EnableExtensions
rem self wrapper - start
if "%~1"=="_SO42546112_" (
shift
) else (
start "/?" cmd /D /C ""%~f0" "_SO42546112_" %*"
exit /B
rem ↑↑ omit the `/B` switch to close calling `cmd` window
)
rem self wrapper - end
rem check whether the self wrapper works - start
echo 1st "%~1"
echo 2nd "%~2"
echo 3rd "%~3"
echo all %*
pause
rem check whether the self wrapper works - end
rem original script continues here:
'title" /? "' hoạt động cho tôi. Chỉnh sửa: oops chỉ nhận ra rằng nó hiển thị '" /? "' Với dấu ngoặc kép –
trong PowerShell '[System.Console] :: Title =" /? "' Sẽ chỉ hoạt động, nhưng nếu chúng ta gọi powershell từ cmd nó sẽ bắt đầu subshell vì vậy chúng tôi không thể giữ môi trường cũ –
Tôi phần nào tìm thấy một workaround. Nếu bạn gõ 'start" /? "' Nó sẽ mở một cửa sổ CMD với tiêu đề chính xác của '/?'. Thật không may, điều này cần phải mở một cửa sổ khác, và nó không thể chỉ được thay đổi trên bay. – ditheredtransparency