草庐IT

windows - 如何通过 WinXP 批处理脚本可靠地验证目录的存在?

你好,我正在编写一个将在WindowsXP机器上运行的批处理脚本。此脚本需要能够可靠地验证作为命令行参数传递的目录是否确实存在。假设我的脚本名为script.bat,它需要支持以下作为合法的命令行参数:C:\>script.batC:C:\>script.batC:\C:\>script.bat..\photosC:\>script.batC:\WINDOWSC:\>script.bat"C:\DocumentsandSettings"C:\>script.bat"C:\DocumentsandSettings\"C:\>script.batF:\music\data\C:\>...基

windows - 如何在批处理脚本中删除变量中的引号

我在批处理编程中遇到了问题。我获取由控制台生成的字符串,然后该字符串包含双引号,我会将其保存到一个变量中,例如,"/path/compile"-osource.cpp现在我的问题是,如何删除这2个双引号?我不确定如何删除字符串中间的引号。请指教 最佳答案 seta="hello"worldsetb=%a:"=% 关于windows-如何在批处理脚本中删除变量中的引号,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

windows - 批处理脚本传递多个参数调用

我编写了一个脚本,其中包含一个函数,该函数应循环遍历列表并返回给定列表中项目索引的值。我有一个名为::find的函数,它应该有2个参数:列表和项目位置。我不确定如何处理函数中的多个参数。如果我在循环内用%MY_LIST%替换%LIST%并从参数列表中删除%MY_LIST%tht,则此脚本运行正常传递给call:find,但我真的很想知道如何传递多个参数。我认为它们只是作为一个完整的字符串传递给函数...@echooffsetlocalenableDelayedExpansioncls::--------------------------------------------------

windows - 使用 Windows 批处理从文件中删除尾随空格?

如何使用Windows命令提示符删除文本文件中的所有尾随空格? 最佳答案 BenHocking引用的DosTipsRTRIM函数可用于创建一个脚本,该脚本可以正确修剪文本文件中的每一行。但是功能比较慢。DosTips用户(和版主)aGerman开发了一个veryefficientrighttrimalgorithm.他将该算法实现为批处理“宏”——一个有趣的概念,将复杂的迷你脚本存储在可以从内存中执行的环境变量中。带参数的宏本身就是一个主要的讨论主题,与这个问题无关。我提取了一个德国人的算法并将其放入以下批处理脚本中。该脚本需要将文

Windows 批处理 FOR 命令制表符分隔符

我正在尝试使用Windows批处理FORcommand.如何将TAB字符指定为分隔符?默认是空格和制表符,但我只想要制表符。我已经试过了,但它不起作用:FOR/F"tokens=3delims=^T"%iin(test.txt)do@echo%i它似乎是在T字符而不是制表符上拆分。我还尝试将文字粘贴到命令提示符中,但出现语法错误。 最佳答案 您需要在引用的选项字符串中使用文字制表符。文字TAB既适用于批处理文件,也适用于命令行。如果您试图在命令行中键入TAB,那么文件名补全可能会阻碍您的努力。您可以使用CMD/F:OFF禁用名称完成

windows - 从批处理脚本执行 WshShell 命令

我有一个简单的问题:从Windows批处理(.bat)脚本执行单个WshShell命令的最佳方法是什么?(希望它不是用VB代码创建新文件) 最佳答案 您可以通过VBScript或Jscript访问WshShell。两者都可以嵌入批处理文件中,但JScript更简洁。大多数人通过编写临时VBS文件在批处理中执行VBScript。但是没有临时文件也可以做到这一点。参见IsitpossibletoembedandexecuteVBScriptwithinabatchfilewithoutusingatemporaryfile?各种选项。在

windows - 使用批处理脚本查找和删除驱动器上每个文件夹中的 desktop.ini 文件

我想使用Windows批处理文件查找并删除网络驱动器H:上的每个desktop.ini和RecycleBin.BIN文件。我目前有这个:@echoAbouttodeletealldesktop.iniandRecycleBin.BINfilesfromH:,pressCtrl+CtocancelorEntertocontinue.@pause@H:@for/f"usebackq"%%iin(`dir/s/b/x/A:H^|find"desktop.ini"`)dodel/A:H"%%i"@for/f"usebackq"%%iin(`dir/s/b/x/A:RH^|find"Recycl

Windows 批处理脚本 : Collect unique occurences of a string in a file

我有一个文件,其中逗号前的第一个字符串是某种标识符。这是一个示例:A,bla,bla...B,bla,bla...A,bla,bla...C,bla,bla...我需要解析一个文件来收集这个字符串的所有唯一出现。因此,理想情况下,在处理之后我会得到某种数组[A,B,C]。问题是批处理脚本不支持官方数组。我知道有一些变通办法,但我检查过的那些看起来很丑陋。到目前为止,我所拥有的是这样的:FOR/F"tokens=1delims=,"%%iin(%FILE%)do(echo%%i)这会产生输出:ABAC如何消除字符串的重复出现?实现这一目标的优雅方式是什么?请分享您对如何解决此问题的想法。

windows - 在批处理脚本中创建文件夹并忽略它是否存在

如何在批处理脚本中创建文件夹(和任何子文件夹)?但重要的是,如果文件夹(或任何子文件夹)已经存在,它不应返回错误。例如,像这样:mkdirmydir-成功(目录现已创建)mkdirmydir\subdir-成功(现在mydir包含subdir)mkdirmydir-成功(文件夹已经存在,应该不抛出错误)mkdirmydir\subdir-成功(文件夹已经存在,应该不抛出错误)我真正需要的只是确保文件夹结构存在。 最佳答案 需要检查路径,不存在则创建ifnotexist"mydir\subdir"md"mydir\subdir"或者你

windows - 用于 cmd/批处理脚本的 ISE?

有针对WindowsPowershell脚本语言的集成脚本环境,但是否有针对Windows批处理(.bat)脚本的ISE?人们如何高效地开发.bat脚本,您使用某种ISE吗? 最佳答案 我只使用标准(但不错)的文本编辑器-我个人使用的是vim,但还有其他的(ProgrammersTextEditor、Notepad+等)。 关于windows-用于cmd/批处理脚本的ISE?,我们在StackOverflow上找到一个类似的问题: https://stacko