我正在为Windows编写一个Ruby程序,我需要从键盘(stdin)读取用户输入。但是,需要用户按键不会自动显示在Windows控制台中,并且表现得像“无声按键”Rubyoverlinux中的这个问题,可以使用“stty”linux命令解决:%x{stty-icanon-echo}因为是linux终端自动将用户按键输出到终端,所以运行“stty”命令告诉终端停止显示用户按键。但是我的程序必须在windows中运行,所以我尝试为windows控制台搜索一个“stty”等效命令,但仍然找到了nip...?有什么建议、指点吗? 最佳答案
我正在运行一个调用二进制NiniteOneTrial的批处理脚本来安装“applist.txt”中列出的一堆应用程序。这很好用,但我想看看是否有一种方法可以设置一个变量来打印到屏幕(回显)当前正在安装的应用程序(根据applist.txt调用):基本上,想要用该列表中当前正在安装的应用替换%%CURRENTTASKFROMLIST%%。setCACHEPATH=\\server-01\local_apps\Ninite\netcachesetfile_list=C:/ninite/applist.txt:appinstallfor/f%%1in(%file_list%)do(echo.
有什么办法可以做到这一点:echotestline>t.txt在Windows批处理文件或makefile中运行时使用unix行结尾(\n)而不是Windows行结尾(\r\n)? 最佳答案 不,您不能使用echo来做到这一点。Echo的工作原理是简单地写入一行文本,然后是CR/LF对(Windows行结束字符)。重定向到文件只是将该行文本发送到文件句柄而不是stdout。无法修改使用的行结束字符。 关于windows-使用unix换行符将行回显到Windows上的文件,我们在Stack
我在创建批处理文件(.bat)以根据特定参数重命名同一目录中的多个文件时遇到问题。为了使它发生在多个文件中,我必须向它添加一个增量值。根据研究(主要是在这里),我拼凑了以下命令,但无论我做什么,我实际上都无法做到。它只是回显应该做什么,当我从“ren”之前删除回显时,它说语法错误。@echooffCDC:\FolderPath\setlocalenabledelayedexpansionset/acount=0for/f"tokens=*"%%ain('dir/b/od*.txt')do(echorenCDFF_%date:~-4,4%%date:~-10,2%%date:~-7,2%
基于这篇关于在Windows10中更改命令提示rune本的输出颜色的帖子,我正在寻找在批处理文件IF语句中检测操作系统版本的最佳方法。HowtoechowithdifferentcolorsintheWindowscommandline据我了解,Windows10Threshold22015年11月18日(10.0.10586.11)添加了彩色文本在Windows10版本历史中,直到版本1607(周年更新),都有一个major.minor.build.revision编号方案,所以我希望检测非常精细。https://en.wikipedia.org/wiki/Windows_10_ve
这是我当前的.bat:set/plastname=Pleaseenterlastname:set/pfirstname=Pleaseenterfirstname:set/psex=Pleaseentersex:set/page=Pleaseenterage:set/pweight=Pleaseenterweight(kg):set/plocation=Pleaseenterlocation:set/padmitdate=Pleaseenteradmitdate:mkdir%lastname%%firstname:~0,1%cd%lastname%%firstname:~0,1%echo
我有一个批处理文件,它(简化后)看起来像这样:@EchoOffSetLocalEnableDelayedExpansionMD"MyProgram^!"MD"MyProgramversion2"MD"MyProgram(nextversion)"MD"MyProgramO&O"DelFolders.txtCall:AddFoldersRecursive.EndLocalGoto:EOF:AddFoldersRecursiveFolderPathEcho%~1>>Folders.txtFor/D%%fIn("%~1\*")DoCall:AddFoldersRecursive"%%~f"G
所以我正在寻找一个快速命令来评估windows命令行上环境变量的长度。从概念上讲,效果是:echo%PATH%.length谢谢! 最佳答案 @echooffsetlocalenabledelayedexpansioncall:COUNT"%path%"echoYourvariableis%length%characterslongpause>nul:COUNTsettemp=%1setlength=0:loopifdefinedtemp(settemp=!temp:~1!set/alength+=1goto:loop)用法:调用:
这看起来很简单,但我被困住了-一直在搜索许多几乎匹配的问题,但就是找不到答案。我想做的就是这样:echoc:\another\test\file.h(22,11):warning123:thisisatestwarning但这给出了错误::wasunexpectedatthistime。所以我尝试了:echo"c:\another\test\file.h(22,11):warning123:thisisatestwarning"产生:"c:\another\test\file.h(22,11):warning123:thisisatestwarning"。但我不想要引号。所以我尝试使用
在Windows命令行中,我尝试将以下字符串写入文件:cloud9首先,我尝试echocloud9>file.txt。这只是打印到控制台,而不是文件,大概是由于9>的未定义性质。接下来我尝试echocloud9>file.txt。这会生成一个文件,其中包含所需的文本cloud9,但行尾有一个尾随空格。我尝试了很多其他变体:echocloud91>file.txt产生cloud91。echocloud91>file.txt生成带有尾随空格的cloud9。echo"cloud9">file.txt生成带有不需要的引号的"cloud9"。有什么方法可以准确地将cloud9回显到文件中,不带尾