草庐IT

处理办法

全部标签

windows - 有没有办法从 for 循环中的通配符中排除某些值/变量

for/d%%AIN(u:\mainfolder\*)DOifnotexist"%%A\%var1%"mkdir"%%A\subfolder"我想排除目录u:\mainfolder\中的某些文件夹,以便mkdir在除少数文件夹之外的所有文件夹上执行。如果使用通配符,是否有办法排除某些文件夹? 最佳答案 如果您只有2或3个要排除,您可以这样做。for/d%%AIN(u:\mainfolder\*)DOif/inot"%%A"=="u:\mainfolder\Name1ToExclude"if/inot"%%A"=="u:\mainfo

windows - 如何在批处理脚本中以整数格式输出文件大小

我正在尝试遍历文件夹中的文件并获取所有大于100MB的文件。现在,如果我这样做,我可以获得要输出的文件大小(以字节为单位):for%%fin(%FOLDER_PATH%\*)do(set/pval=虽然我可以回显该值,但我无法将其分配给变量或与它进行比较:for%%fin(%FOLDER_PATH%\*)do(set/pval=以上代码返回:命令的语法不正确。 最佳答案 除了z和f之间多余的%之外,您的代码是有效的。只是从文件%%f获取第一行内容,然后不使用这个var让我感到困惑。for%%fin(%FOLDER_PATH%\*)d

windows - 如何在批处理脚本中根据一组 Header、Details 等拆分文件?

我有一个如下所示的文件。FileDateSourceTargetHD|Field1|Field2|Field3ITEM1|Otherfields1ITEM2|Otherfields2HD|Field1|Field2|Field3ITEM1|OtherfieldsITEM2|OtherfieldsITEM3|Otherfields我需要根据HD的出现创建单独的文件。第一个文件将包含从HD开始的行,并且将包含下一个HD片段开始之前的所有内容。可以有N个高清片段。这些文件还需要根据高清段的Field1值进行重命名。所以文件1将作为File-Field1并包含HD|Field1|Field2|

windows - Echo 在我的 Windows 批处理脚本中无法正常工作

主要问题:ECHO命令忽略标记参数之前的所有字符,并在输出中标记之前的标记参数之后插入所有文本:这是脚本:@ECHOOFFFOR/F"USEBACKQTOKENS=2DELIMS=="%%aIN(`WMICNICWHERE"MACAddressISNOTNULL"GETMACAddress/FORMAT:LIST^|FINDSTR/V/R"^%"`)DO(ECHO[%%a]ECHO0123456789%%a9876543210)PAUSE>NUL这是预期的输出:[AA:BB:CC:11:22:33]0123456789AA:BB:CC:11:22:339876543210这是实际输出:

windows - 替换 ".jpg"缩略图处理程序

我为Windows10编写了一个新的缩略图处理程序。当我将它应用到我的自定义“.mic”文件(重命名为“.jpg”文件)时,该处理程序运行良好。但是,出于某种原因,根本没有为“.jpg”文件调用处理程序。这些是我在“DllRegisterServer”期间添加到注册表的条目://ListofregistryentrieswewanttocreateconstREGISTRY_ENTRYrgRegistryEntries[]={{HKEY_LOCAL_MACHINE,L"Software\\Classes\\CLSID\\"SZ_CLSID_MYTHUMBHANDLER,REG_SZ,N

Windows 批处理 :Count the number of files deleted using forfiles command

我编写了一个简单的批处理作业,使用forfiles将文件从一个文件夹复制到另一个文件夹,这些文件早于x天。但是我需要计算已复制的文件数。我尝试了多种方法来做到这一点,但没有成功。任何人都可以帮助我度过难关吗?@EchooffEchoStartingthescriptforcopyingfilestootherfolder.setdt=%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%setfilesMovedCount=0forfiles/pC:\symphonybackup\symphonyba

windows - 批处理以隔离具有多个项目的文本文件中的最后一个项目

出于好意,我有一个myTextFile.txt,其中包含如下内容:"C0001.MXF""C0002.MXF""C0003.MXF"..."C0020.MXF"我想做一个只回显最后一项的批处理,在本例中是C0020.mxf可能我需要将结果放入2个变量中:一个叫做var1="C0020.MXF"和另一个调用var2=C0020.MXF(与var1相同,但没有“”)我该怎么办?谢谢 最佳答案 for/f%%ain(mytextfile.txt)dosetvar=%%~aecho%var%源自数百个类似解决方案中的任何一个。既然你声称这不

c++ - 为什么我的 Windows 控制台关闭事件处理程序超时?

我在VS2017/Windows10中构建了以下程序。当我运行它时,我点击关闭并按预期调用ctrl_handler(),但在约三秒后该进程无论如何都被强制终止。这是个问题,因为我的真实应用程序写入了很大的日志文件,而三秒的时间不足以将它们写入磁盘。描述此行为的文档在哪里?它不在thosefortheCTRL+CLOSEsignal中.超时在哪里设置?可以在应用层修改吗?或者使用组策略?#includeboolmainThreadRunning;boolmainThreadFinished;BOOLctrl_handler(DWORDevent){if(event==CTRL_CLOSE

windows - 检查特定文件中的更改,批处理未按预期工作

我有不同的文件,我想使用批处理检查其中任何文件的任何更改。这是我的:@echooffsetlocalenableDelayedExpansionset"list=test.txttest1.txt":looptimeout-t1>nulfor%%jin(%list%)do(REMHereonlyprintstest.txtecho%%jfor%%iin(%%j)doecho%%~ai|find"a">nul||goto:loopechofilewaschanged%%jattrib-a%%j)goto:loop如果我只使用一个文件,可以工作,但不能使用两个或更多文件。这个想法是,ech

Windows 批处理 : replace strings in a file case sensitively

我花了很多时间编写脚本来使用"template"(编码环境)项目生成新文件。虽然在Unix上shell脚本简单得可笑,但我花了几天时间在Windows上做同样的事情...我当前的批处理文件几乎完成了我需要的一切,除了字符串替换不区分大小写...也就是说,它将“emptyproject”替换为“EMPTYPROJECT”,作为第一条语句...代码:@echooff&setlocalENABLEEXTENSIONSENABLEDELAYEDEXPANSIONsetargc=0for%%xin(%*)doset/Aargc+=1if/I"%argc%"EQU"0"(echoUsage:%0P