最新的Windows 10更新包括对 conhost.exe中的ANSI转义序列的支持.
我已经能够确认在cmd.exe中正确地获取了转义序列,所以我有必要的更新.特别是,我尝试输入prompt $e[?25l,隐藏光标,然后prompt $e[?25h再次显示光标.
但是,如果我启动Python解释器,然后执行以下操作:
>>> import sys
>>> sys.stdout.write("\033[?25l")
Run Code Online (Sandbox Code Playgroud)
好吧,光标没有隐藏.如何以正确的方式设置,以便控制台能够从Python获取转义序列?
如何在Windows下使用普通c在控制台窗口中检查ymax和xmax?
这段代码用于linux:
#include <stdio.h>
#include <sys/ioctl.h>
int main (void)
{
struct winsize max;
ioctl(0, TIOCGWINSZ , &max);
printf ("lines %d\n", max.ws_row);
printf ("columns %d\n", max.ws_col);
}
Run Code Online (Sandbox Code Playgroud)
现在我想知道如何为Windows做同样的事情.我试过winioctl.h但它没有定义struct winsize任何其他类似的名称.
有小费吗?谢谢.
PS.在linux中,您还可以使用找到控制台大小getenv("LINES");.Windows下有类似的变量吗?
PPS.此外,总有一种情况ncurses.h,我认为这两种系统都可以工作,但是由于与我所拥有的其他库的冲突,我正在避免它.
购买力平价.这个问题在这里得到C的终端宽度?有很多提示,所以不需要重复.
搞砸我的CMD shell怎么办?Windows XP Pro,打开一个cmd窗口并执行:
C:\>set tt = name
C:\>set tt
tt = name
C:\>echo %tt%
%tt%
C:\>echo %time%
14:13:28.67
Run Code Online (Sandbox Code Playgroud)
echo命令由于某种原因不起作用.我可以很好地回应内置变量.在另一台计算机上试用它,并按预期工作
windows cmd batch-file environment-variables windows-console
我使用的是Windows 7 64位
这是我用来启动的代码片段
@echo off
call "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe"
call "G:\League of Legends\lol.launcher.exe"
exit
Run Code Online (Sandbox Code Playgroud)
但除非我关闭LOLRecorder.exe,否则它将无法启动我的lol.launcher.exe ....基本上我希望它们都运行并且cmd提示符在它们启动后退出.这里有什么不对?我检查了另一个stackoverflow答案在这里,但它指的是我使用的相同方法.
编辑:
使用启动命令,它只启动2个终端窗口,没有任何启动!
@echo off
start "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe"
start "G:\League of Legends\lol.launcher.exe"
exit
Run Code Online (Sandbox Code Playgroud) 有谁知道Windows控制台/ MS-DOS使用哪种字体?
我刚刚在Windows上为Python 2.7 安装了termcolor.当我尝试打印彩色文本时,我会得到颜色代码.
from termcolor import colored
print colored('Text text text', 'red')
Run Code Online (Sandbox Code Playgroud)
结果如下:

我在远程管理器上获得相同的结果,当我尝试将脚本作为独立应用程序运行时.
我在这里遇到了严重的问题.我需要通过C++执行CMD命令行,而不显示控制台窗口.因此我无法使用system(cmd),因为窗口会显示.
我试过了winExec(cmd, SW_HIDE),但这也行不通.CreateProcess是我试过的另一个.但是,这适用于运行程序或批处理文件.
我最终尝试了ShellExecute:
ShellExecute( NULL, "open",
"cmd.exe",
"ipconfig > myfile.txt",
"c:\projects\b",
SW_SHOWNORMAL
);
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到上述代码有什么问题吗?我已经习惯了,SW_SHOWNORMAL直到我知道这是有效的.
我真的需要一些帮助.没有任何事情发生,我已经尝试了很长一段时间.任何人都可以给出的建议会很棒:)
我想在运行执行批处理文件的计划任务时保持控制台窗口保持打开状态.如果我手动运行意味着执行批处理文件,窗口保持打开状态,但是通过任务调度程序它不会打开,但我可以看到任务仍在运行.我最后暂停了一下.
@echo off
TITLE PROCESS_MGR
tasklist /FI "IMAGENAME eq JOESMO.exe" | find /I "JOESMO.exe">nul &&(echo PROCESS
JOESMO.exe IS ALREADY RUNNING!
echo %DATE%
echo %TIME%
pause
) || (
echo JOESMO PROCESS IS NOT RUNNING
cmd /c start "JOESMO.exe" "C:\Users\xxxx\Documents\
Visual Studio 2010\Projects\Projects2013\JOESMO.exe"
pause)
Run Code Online (Sandbox Code Playgroud)
我发现这个建议cmd/k myscript.bat但是在Windows Server 2008的任务调度程序中创建任务我不知道在哪里应用它.我将/ k添加到任务中编辑操作中的添加参数框.
我编写了一个打印字符串的程序,该字符串包含ANSI转义序列以使文本着色.但它在默认的Windows 10控制台中无法正常工作,如屏幕截图所示.
程序输出显示为转义序列作为打印字符.如果我通过变量或管道将该字符串提供给PowerShell,则输出将按预期显示(红色文本).
如何才能实现程序打印彩色文本而无需任何解决方法?
这是我的程序源(Haskell) - 但语言不相关,只是这样你就可以看到如何编写转义序列.
main = do
let red = "\ESC[31m"
let reset = "\ESC[39m"
putStrLn $ red ++ "RED" ++ reset
Run Code Online (Sandbox Code Playgroud) 如果我将我的代码文件保存为.pyw,则不会出现控制台窗口 - 这就是我想要的 - 但如果代码包含调用os.system,我仍然会得到一个讨厌的控制台窗口.我认为这是由呼叫引起的os.system.有没有办法从我的.pyw脚本中执行其他文件而根本不提高控制台窗口?
windows-console ×10
cmd ×4
windows ×4
python ×3
console ×2
ansi ×1
batch-file ×1
c ×1
c++ ×1
command-line ×1
font-face ×1
fonts ×1
powershell ×1
pythonw ×1
size ×1
termcolor ×1
truetype ×1
vt100 ×1
winapi ×1
windows-10 ×1
windows-7 ×1