草庐IT

避免全表扫描

全部标签

windows - 如何避免批处理行限制(每行 8191 个字符)?

我有一个多行文件(大约300-400行),每行有72个字符,我需要将其转换为单行。有什么想法吗? 最佳答案 这是可能的,假设您希望在文本文件的一行中连接一行。但是,即使您可以使用批处理创建长行,也无法使用批处理读取该行。正如ElectroHacker所说,您不能创建长度超过8191字节的批处理环境变量。XPSET/P将保留每行的前导空格。但是SET/P在Vista及更高版本上会去除前导空格。此解决方案在每个连接的行之间添加一个空格。@echooffsetlocalset"infile=test.txt"set"outfile=out

windows - 检测设备(打印机、扫描仪、鼠标等)是否不工作

如果打印机有问题,Windows的设备管理器会在有问题的打印机旁边显示一个特殊图标。我正在使用DelphiXE2,我想知道如何以编程方式检测WindowsXP或更高版本的此类信息,即。functionDetectDriversProblems():TStringList;begin//ScanComputerorqueryWindowstoknowifadriverhasissuesand//returnlistoffaultyhardware(ifany)end; 最佳答案 您可以使用Win32_PnPEntityWMI类和Con

windows - 运行 cmd.exe 时避免显示 Microsoft 版本

如果我有一个批处理文件,并且我希望阻止它关闭(因此允许用户使用修改后的路径运行命令),通常会以cmd.exe结束该批处理文件。但是,这条恼人的消息会扰乱我的批处理文件输出:MicrosoftWindows[Version6.1.7601]Copyright(c)2009MicrosoftCorporation.Allrightsreserved.是否有其他方法可以让窗口保持打开状态,或者在我运行cmd.exe时阻止此文本出现? 最佳答案 我假设您正在通过双击或快捷方式运行批处理脚本。一个选项是创建快捷方式并将目标从c:\yourPa

c - 将 SQL_BINARY 数组数据作为参数传递时如何避免零终止? (ODBC 驱动程序)

我刚刚了解到WindowsODBC驱动程序API需要一组SQL_BINARY数据作为输入参数,以零字节结束。尽管我没有在文档中找到这样的语句,但我通过使用以下代码执行存储过程发现了这一点:最小示例//ParameterbindingBYTEdata[10]={15,3,54,144,34,211,200,147,15,74};SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_BINARY,SQL_BINARY,10,0,data,0,NULL);//ProcedureexecutionSQLRETURNres=SQLExecDirect(hs

string - 汉字输出时如何避免乱码

我发现一个关于writeFile将汉字写入文件的奇怪问题。>writeFile"r.txt""过"--outputtingasexpected.>writeFile"r.txt""图"--notdisplayingasexpected.seethefollowing:然后奇怪的事情发生了:>writeFile"r.txt""图画"--outputtingisnormal,asfollows:更多显示乱码的例子:>writeFile"r.txt""士">writeFile"r.txt""十">writeFile"r.txt""千">writeFile"r.txt""一">writeFil

c++ - 扫描更改的文件

我正在寻找一种在WindowsXP+中扫描目录结构以查找更改文件的高效方法。像git那样做的事情正是我正在寻找的,当运行gitstatus时,它会非常快速地显示所有修改过的文件、所有新的(未跟踪的)文件和删除的文件,这正是我想要的喜欢做。我有一个启动并运行的基本模型,它执行初始扫描并存储所有文件名、大小、日期和属性。在随后的扫描中,它会检查大小、属性或日期是否已更改并将标记为已更改的文件。我现在的问题是检测移动和删除的文件。有没有针对这种事情的久经考验的方法?我正在努力想出一个好方法。我应该提一下,它最终会使用ReadDirectoryChangesW来监视文件并在发生变化时提醒用户,

windows - 批量扫描子字符串

我是批处理的新手,我正在尝试为一个项目制作一个“类脑”程序,它应该能够完成简单的简短对话。我正在使用set/p来询问用户问题,如下所示:set/pa=Hello:我希望能够查看用户是否在他们的回答中说了一个特定的词,以帮助确定计算机将回复什么。谢谢。 最佳答案 @echooffset"specific_word=something"set/pa=Hello:setlocalEnableDelayedExpansionif/Inot"!a:%specific_word%=!"EQU"!a!"(echoitcontainstheword

windows - 调用 CreateProcess 后避免沙漏

在我的Win32应用程序中,我嵌入了ffplay.exe用于视频预览。它工作得很好,但每次我开始预览时,光标都会变得“忙碌”,即箭头+沙漏。我想避免这种情况。 最佳答案 设置STARTF_FORCEOFFFEEDBACK在dwFlags中标记STARTUP_INFO的成员您传递给CreateProcess()的结构. 关于windows-调用CreateProcess后避免沙漏,我们在StackOverflow上找到一个类似的问题: https://stack

c - sscanf 修饰符 %Fd 扫描什么类型?

我遇到过一些具有以下类型行的遗留代码:sscanf(szBuff,"%Fd%Ff%Fd%Ff"有没有人见过像Fd或Ff这样的修饰符?如果是,那是什么意思?我似乎找不到任何关于它的信息。代码编译并运行良好。 最佳答案 C对fscanf函数说:(C991,7.19.6.2p14)TheconversionspecifiersA,E,F,G,andXarealsovalidandbehavethesameas,respectively,a,e,f,g,andx.所以在%Fd中,转换规范是%F,相当于%f。请注意,d不是转换规范的一部分。例

windows - 避免在 Windows 批处理文件中同时调用

我有一个通用的Windows构建批处理(即build.bat),它以不同的参数并行运行。startbuild.batdevice1startbuild.batdevice2startbuild.batdevice3但是在那批中有一个可执行文件在并行调用时崩溃。是否有可能,使用Windows内置函数,当它已经在另一个批处理中运行时阻止这个调用,并在它在另一个批处理中完成时继续?假设该批处理的内容是startdelay5当批处理被多次调用时,当另一个延迟当前正在运行时,延迟不得运行。这类似于信号量。所以我们的目标是拥有这样的东西CheckAndWaitIfDelayIsRunningsta