【发布时间】:2014-11-29 02:34:54
【问题描述】:
我是 FOR 命令用法的业余爱好者。我需要一个批处理文件,它将根据文件的扩展名运行 5 个文件转换工具之一。我想将一个文件放到批处理文件图标上并进行转换。
由于我的列表很大,我不能使用嵌套的 IF。
到目前为止我已经尝试过:
@ECHO OFF
SET cadfile=.dwg .dxf .dwf
SET gsfile=.ps .eps .epi .epsp
SET xxxxxx=.xx .xx and goes on
FOR %%~x1 in (%cadfile%) do (
Do some action
FOR %%~x1 in (%gsfile%) do (
Do some other action
)
)
%%~x1 变量用于文件的文件扩展名,它拖放到批处理文件上。 (为更清楚而编辑)
【问题讨论】:
-
你能多解释一下你想对每组文件做什么,xxxxxx是什么?如果你不说“拖动”,你会用什么词?
-
我有 5 种不同的文件转换工具,每一种都支持不同类型的文件。我正在尝试制作批处理文件以将我的文件发送到有关其扩展名的正确转换器。 xxxx 只是为了提到这个列表还在继续。并且没有其他选择,因为我会将文件拖到批处理文件上“让 bat 文件将名称作为变量”。谢谢。
-
我们可以说,它们完全独立于文件夹。可以从任何路径中的任何文件夹中拖动文件。处理后的文件只是拖放的文件。没有多文件处理。关于文件的唯一事情就是使用它的扩展名的方式。我的主要问题是如何针对 5 个不同的扩展列表选择正确的操作。
-
抱歉误会。您想从字面上拖动一个文件夹并将其放入批处理文件中,然后批处理文件根据扩展名处理每个文件。
-
啊,不。没有文件夹,也没有关于文件夹的内容。我只会拖放一个文件。
标签: batch-file multiple-conditions