草庐IT

while循环

全部标签

windows - FOR 循环将每次迭代用相同的前缀分组在一行中

我以我觉得有趣的问题为例:Mergepdffileswithrelatedfilenames在这个问题中,我试图部分成功地回答,因为它用更多信息更新了问题。总结一下这个问题是一个包含以下内容的文件夹:123456_ABCD.pdf123456_EFGH.pdf123456_IJKL.pdf111111_ABCD.pdf111111_EFGH.pdf222222_IJKL.pdf222222_WXYZ.pdf在命令FOR中,我想得到这样的输出:123456_ABCD.pdf,123456_EFGH.pdf,123456_IJKL.pdf111111_ABCD.pdf,111111_EFG

c++ - WinProc() 与主消息循环

我注意到WinAPI中的某些消息只能在使用PeekMessage()的“主消息循环”中检索(如WM_QUIT),其他消息只能在用户定义的winProc()函数(如WM_CLOSE和WM_SIZE),以及一些消息,如WM_MOUSEMOVE两者。有什么区别?我如何知道WM消息将发送到哪里? 最佳答案 使用NULL窗口句柄发布的消息只能在消息循环中检索。必然如此,DispatchMessage()无法完成它的工作。这是非常罕见的。但是,是的,WM_QUIT,注意如何PostQuitMessage()不带窗口句柄。这是不可避免的,当您调用

windows - 如何正确循环/获取文本/选择 SysTreeView32 窗口项

我花了几个小时浏览Microsoft的开发中心;但是,我似乎无法弄清楚如何做以下两件事:在“导航器”子窗口的“专家顾问”部分下循环查看每个程序的名称(例如下面屏幕截图中的“MACD示例”)选择并双击该程序(例如“MACD样本”)。Winspector(Left)|Application(Right)我的主要问题似乎是我不知道如何正确使用HTREEITEM来访问信息。我注意到有一个函数ListView_GetItemText,但我找不到TreeView_GetItemText或等效函数。如有任何帮助,我们将不胜感激。下面是我的程序的主要功能:int_tmain(intargc,_TCHA

windows - 使用for循环和变量替换批量拆分文件路径

我已经搜索了很长时间,但没有任何运气能让我的脚本正常工作。我觉得我很接近,但需要一点帮助。我正在尝试使用FOR循环递归扫描“srcdir”(在我的脚本开头设置),然后一旦循环返回文件/路径(%%f),我就可以用其他东西替换部分文件路径(例如,C:\rootpath\src对应C:\rootpath\des)。我可以通过使用像这样的脚本来做这样的事情:setsubdir=C:\rootpath\srcsetsubdir=%subdir:src=des%echo%subdir%但是,使这变得困难的是我的“srcdir”的根路径可能会改变(例如;C:\roothpath)并且“srcdir”

Windows7批处理,如何在第一个For循环后中断

我正在编写一个简单的脚本来检索我作为IP给出的本地主机地址。为了获取我的IPv4地址(Win7),我编写了简单的FOR循环,但结果是我从最后一个循环而不是第一个获取了IP。这是批处理代码:clsfor/f"tokens=1-2delims=:"%%ain('ipconfig^|find"IPv4"')do(setip=%%b)setip=%ip:~1%echo%ip%返回:(setip=192.168.1.101)(setip=192.168.88.1)(setip=192.168.137.1)setip=192.168.137.1echo192.168.137.1192.168.13

c# - 在 Windows 10 中检测到布局循环,但在 Windows 8.1 中未检测到

我正在使用一个计时器,它每10秒更新一次布局,直到进度条未完全填满。在Windows8.1中似乎没有问题,但在Windows10中,会抛出LayoutCycleDetectedException。 最佳答案 原代码是privatevoidSetVerticalOffSet(){PopupParentPopup=this.ParentasPopup;if(ParentPopup==null)return;doubleActualVerticalOffset=ParentPopup.VerticalOffset;doubleActual

windows - 为什么在运行应该查找 *.exe 文件并输出其名称的 FOR 循环时始终显示相同的文件名?

我希望我的批处理脚本只显示*.exe文件的特定目录中的文件名,而没有任何路径或扩展名。到目前为止我的代码是这样的:for/R"%cd%"%%ein(*.exe)do(set"EXENAME=%%~ne"echo"%EXENAME%")但是这段代码没有按预期工作。假设我在该目录中有两个文件:tomcat7.exe和tomcat7w.exe。但是在处理脚本时,我得到的答案是:"tomcat7w""tomcat7w"这是为什么? 最佳答案 与Noodles一样多的批处理文件编码新手,您遇到了延迟扩展陷阱暗示。使用echo%%~ne而不是e

用于循环变量扩展的 Windows 批处理脚本不起作用

我正在学习有关Windows脚本数组和for循环的教程。这些示例无法正常工作,已在Windows7和10上进行测试。Batchscripttutorial当我运行以下for循环时:::@echooffsetlist=1234(for%%ain(%list%)do(echo%%a))我得到以下输出:setlist=1234(for%ain((null))do(echo%a))列表变量的内容不会在for循环中打印出来。我期待得到1234有什么想法吗? 最佳答案 有关使用SET等基本批处理命令的信息,请参阅SS64很好的信息来源。在您的情

windows - for 循环不能正常工作?我做错了什么?

我不确定预期的输出是“0525100”有什么问题。我得到的输出是“2031560”:http://hastebin.com/tibirakoni.dos@echooffsetlocalEnableDelayedExpansioncls:varssetnumbercheck=50setnumber2=0setnumber3=0setnumber4=0:calcfor%%ain(0,1,100)do(if!numbercheckGEQ10(set/anumbercheck=!numbercheck!-10set/anumber2=!number2!+1set/anumber3=!numbe

windows - 修复循环以保存基本的 Windows 进程及其路径,并终止其余进程

我想保存一些系统进程,及其路径,以确保系统不崩溃,并杀死其余进程例如:lsass.exe、winlogon.exe、conhost.exe、rundll32.exe等这是我的.bat:setproc=,::proccall:proc"lsass.exe"call:proc"winlogon.exe"call:proc"conhost.exe"call:proc"rundll32.exe"for/f"skip=3tokens=1delims="%%ain('tasklist/fi"usernameeq%username%"')do(echo%proc%,|findstr/c:,%%a,1