首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Notepad++中打开特定类型的所有文件的批处理命令

问在Notepad++中打开特定类型的所有文件的批处理命令
EN

Stack Overflow用户
提问于 2014-12-17 20:02:17
回答 3查看 10.3K关注 0票数 7

我有以下批处理命令来打开扩展名为dtd的文件。

代码语言:javascript
复制
REM Open all the static content files
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder1\File1.dtd"
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder1\File2.dtd"
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder2\File1.dtd"
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder2\File2.dtd"
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder3\File1.dtd"
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder3\File2.dtd"

如何将此批处理命令更改为打开"D:\data"文件夹下所有扩展名为dtd的文件?

我尝试了下面的代码,但它不能工作

代码语言:javascript
复制
REM Open all the static content files
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\\*.dtd"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-17 20:12:55

您可以使用FOR命令:

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

遍历以drive:path为根的目录树,在树的每个目录中执行FOR语句。如果在/R之后未指定目录规范,则假定为当前目录。如果set只是一个句点(.)字符,则它将仅枚举目录树。

在您的情况下,这应该是可行的:

代码语言:javascript
复制
FOR /R d:\data %a IN (*.dtd) DO "C:\Program Files (x86)\Notepad++\notepad++.exe" "%a"

如果需要从批处理文件运行此命令,请使用%%a

如果要使用多个扩展名,可以用空格分隔这些扩展名

代码语言:javascript
复制
FOR /R d:\data %a IN (*.dtd *.xml *.xslt) DO "C:\Program Files (x86)\Notepad++\notepad++.exe" "%a"
票数 10
EN

Stack Overflow用户

发布于 2017-01-24 14:49:12

您可能还希望以这种方式编写批处理文件:

代码语言:javascript
复制
set command=C:\Program Files (x86)\Notepad++\notepad++.exe
FOR /R d:\data %%a IN (*.dtd) DO %command% %%a
票数 3
EN

Stack Overflow用户

发布于 2018-01-30 17:38:54

如果不希望打开前一个会话中的文件,则添加-nosession参数。

(此处以.bat文件中的dtd扩展名为例)

代码语言:javascript
复制
for /R %%x in (*.dtd) do (
    start "" "C:\Program Files\Notepad++\notepad++.exe" -nosession "%%x"
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27525175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档