通过 .bat 迭代目录中的特定文件
我尝试创建 bat 文件以仅迭代目录中文件名以特定单词开头的文件。 例如:
公司名称.module1.exe
companyName.module2.dll
我知道如何迭代文件,但不知道如何检查其名称的特定条件。
I try to create bat file to iterate throuth only files in directory which file names begin with specific word.
For Example:
companyName.module1.exe
companyName.module2.dll
I know how to iterate files but don't know how to check their names for specific condition.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将以下内容添加到批处理文件中:
此脚本将
回显
当前工作目录中以companyName前缀开头的所有文件(仅限文件)。将echo
替换为您想要执行的任何其他命令。更新 1:为了在不同的目录中查找,您可以
或
其中 pathToLookIn 是完全限定路径或相对路径。
更新 2:我更新了
for /F
循环来处理以;
开头的文件名,如 @dbenham 建议的那样。Add the following to your batch file:
This script will
echo
all files (files only) that begin with companyName prefix in the current working directory. Replaceecho
with any other command or commands that you want to perform instead.Update 1: In order to look in a different directory you can either
or
Where pathToLookIn is a fully qualified or relative path.
Update 2: I've updated the
for /F
loop to handle file names that begin with;
as @dbenham suggested.好吧,如果您知道如何迭代文件,那么只需使用该知识即可:
请注意,迭代
dir
的输出很容易出错,并且在许多情况下会破坏 Unicode 字符。由于for
能够直接迭代,因此很少需要使用较差的选项。Well, if you know how to iterate files, then just use that knowledge:
Note that iterating over the output of
dir
is error-prone and will mangle Unicode characters in many cases. Sincefor
is capable of iteration directly there's rarely a need to use a inferior option.