草庐IT

windows - 用于查找已安装设备的驱动器号的批处理脚本

我正在尝试编写批处理脚本来定位特定安装的设备。我在Windows7中。我知道该设备将有文件夹drive:\custom,所以我想查看所有可能性以找到具有此路径的设备这是我目前的情况@echooffsetLocalEnabledelayedexpansionfor%%din(cdefghijklmnopqrstuvwxyz)do(ifexist%%d:\custom(ECHODeviceFound:%%d))虽然这不起作用,但它认为它存在于每个驱动器号中。所以我看到每个驱动器号都有“找到设备”。这是为什么?我这样做错了吗?如何找到根目录中包含“custom”文件夹的盘符?谢谢,斯蒂芬妮

windows - 单击关闭按钮关闭批处理脚本时如何运行批处理命令

我正在运行一个运行长时间运行命令的批处理脚本。我想在使用关闭按钮关闭运行第一个脚本的命令提示符时运行另一个脚本。 最佳答案 这是不可能的。CMD没有任何类型的事件触发命令。这包括关闭窗口、移动窗口、滚动窗口内容和鼠标点击等事件。 关于windows-单击关闭按钮关闭批处理脚本时如何运行批处理命令,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11967419/

windows - 使用批处理重命名名称中具有模式的多个文件夹

我在一个目录下有100个文件夹,它们以一种模式命名。例如:DeDeP001M1TSub、DeDeP002M1TSub、...、DeDeP100M1TSub。我正在寻找一个命令行选项来重命名所有文件夹。我只想将M1更改为M2,因为DeDeP001M1TSub变成了DeDeP001M2TSub。我知道可以执行此操作的第3方应用程序,但我正在寻找一个命令行选项以在bat文件中使用以及其他一些东西。请帮助(该地区的新手)!!到目前为止已经尝试过ren,mv但是没有效果(对dos脚本不是很熟悉)。 最佳答案 应该这样做:@echooffset

windows - 批处理 TAB 分隔符还会在 ECHO 后删除字符 T、A 和 B

我有大约300个文件需要解析,这些文件以制表符分隔。我在下面使用的代码(未完成)是:for/rC:\mywork2\MAX\%%fin(*)do(for/f"delims=TAB"%%iin(%%f)do(for%%uin(%%i)do(ECHO%%u))pause)它似乎工作正常,除了当一个字段以T、A或B开头时,ECHO会删除这个字符?即Taxidea_taxus变成axidea_taxus.这是一个错误,还是我可以解决它?我应该注意使用产生相同的效果。 最佳答案 当您指定delims=TAB时,处理器按字面意思使用T、A和B作

windows - 批处理手动运行良好。但是当从任务调度程序运行时会出错

在WindowsServer2008上,我正在安排一个任务来运行一个批处理文件,该批处理文件又会触发一个控制台应用程序。当双击应用程序时,它运行完美。但是当从任务调度程序运行时,我在日志中收到以下错误。hresult0x800a03ec异常我登录并运行任务调度程序所用的ID具有完全管理员权限。我已经尝试过这些解决方案..BatchFilerunsmanuallybutnotintaskschedulerBatchfilecalledbyscheduledtaskthrowserrorwhenscheduled,runsfinewhendoubleclickedBatchrunsmanu

arrays - 如何使用批处理在数组(for 循环)中一次处理两个元素?

我正在尝试为传递到我的脚本中的参数创建某种处理程序。这个想法是一起处理“成对”的参数。所以,也就是说1和2、3和4、5和6,等等……(不是2和3、4和5、6和7,等等…….)我认为批处理非常酷,但我对批处理还很陌生。我不知道该怎么做。到目前为止,我已经成功地使用以下脚本将参数放入数组中:SETLOCALEnableDelayedExpansionset/acount+=1set"params[%count%]=%~1"shiftifdefinedparams[%count%](goto:repeat)else(set/acount-=1)现在我只需要成对处理每个元素。我根本不知道该怎么

windows - 无法在 cmd 批处理中打印变量

这个问题在这里已经有了答案:Batchvariablefrominputnotbeingupdated(1个回答)关闭6年前。我有以下批处理脚本@echooffsetlocalsetTEST_DIR="E:/img"::forallpngfilesinTEST_DIRfor/r"%TEST_DIR%"%%fin(*.png)do(::printfilefullpathechoTESTING%%f::storethepathintoMY_VARsetMY_VAR=%%f::printMY_VAR(alwaysblank!?)echoTESTING%MY_VAR%)endlocalMY_V

windows - Windows 批处理脚本中 FOR 命令中的 token 数限制

我试图在Windows批处理脚本中处理一个文本文件,但我遇到了一些问题,看起来像是FOR循环中对31个标记的限制。我在下面的代码中隔离了这个问题:@ECHOOFFSETDATA=0102030405060708091011121314151617181920212223242526272829303132333435FOR/F"tokens=31*delims="%%iIN("%DATA%")DO(ECHO[%%i]ECHO[%%j])ECHO.FOR/F"tokens=32*delims="%%iIN("%DATA%")DO(ECHO[%%i]ECHO[%%j])输出是:[31][3

Windows 批处理脚本问题 - 引用包含空格的变量

所以这是我的问题:我想使用%cd%以便用户可以在他们想要放置脚本的任何地方执行脚本,但是如果%cd%包含空格,那么它将失败(无论引号如何)。如果我对路径进行硬编码,它将使用引号起作用,但如果它是一个变量,它将失败。失败:(如果%cd%包含空格)“%cd%\测试.bat”作品:"C:\ProgramFiles\Testing.bat"有什么想法吗? 最佳答案 %CD%不是正确的方法,因为它指示调用脚本时用户所在的目录,而不是脚本所在的目录居住。改为使用%~dp0从%0中提取驱动器和路径信息:REMC:\ProgramFiles\tes

windows - 带循环的批处理(将所有文件复制到文件夹)

任何人都可以帮我批量循环forwindows吗?我想要制作脚本,让我可以做这样的事情:1.copyallfoldersandfilesfromDriveI:toX:\folder0001;2.whendonedisplay:"Done";(iejectedcd)3."enter"tonextcopy;1.copyallfoldersandfilesfromDriveI:toX:\folder0002;2.whendonedisplay:"Done";(iejectedcd)3."enter"tonextcopy;...1.copyallfoldersandfilesfromDriveI