用于查找名为“Main”的文件的 DOS 搜索模式表达式是什么?有任何整数扩展吗?
我有一个程序生成了未知数量的具有整数扩展名的文件,如下所示。
我想将 .eps
附加到每个图像。如何在 DOS 批处理文件中执行此操作?
我无法使用以下内容,因为我不知道搜索表达式。
for %%x in (Main.<what>) do rename "%%x" "%%x.eps"
注意:任何具有非整数扩展名的同名文件必须保持原样。
I have a program that generated unknown numbers of files with integer extension as follows.
I want to append .eps
to each. How to do this in a DOS batch file?
I cannot use the following because I don't know the search expression.
for %%x in (Main.<what>) do rename "%%x" "%%x.eps"
Note: Any files having the same name with non-integer extension must be left as is.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先 SET 只获取文件名的扩展名,包括点(带有 ~X)。第二个 SET /A 尝试将扩展名(不带 :~1 的点)转换为数字。如果它确实是一个数字(大于零),请重命名。
First SET get just the extension of file name, including the dot (with ~X). Second SET /A try to convert the extension (without the dot with :~1) to number. If it is really a number (greater than zero) do the rename.
这应该循环遍历目录。以下是其工作原理的解释:
tokens = 1-2 表示我们只关心文件名的第一部分和第二部分。
delims =
.
表示分割文件名中.
上的标记。dir /b
表示仅列出文件,不显示通常在中显示的任何
命令。您需要将该目录放在那里或从同一文件目录运行。.
或..
>dirLSS
一个char
将始终返回GREATER THAN,这就是它的工作原理。我选了9999,你可以选什么。最后,它采用文件名的第一部分 (
%%A
) 和扩展名 (%%B
),然后重命名为文件名的第一部分 (< code>%%A) 并带有eps
扩展名。将其放入批处理文件中并运行它。
注意:您无法重命名为相同的文件名,因此我使用了
%%A.%%B.eps
。This should loop through the directory. Here is the explanation on how it works:
tokens = 1-2 means we only care about the first and second part of the file name.
delims =
.
means to split the tokens on the.
in the file name.dir /b
means to only list the files, don't show any of the.
or..
that is normally shown in thedir
command. You need to put the directory in there or run from the same file directory.LSS
achar
will always return GREATER THAN, that's how this works. I picked 9999, you can pick whatever.Finally, it takes the first part of the file name (
%%A
) and then the extension (%%B
) then renames to first part of the file name (%%A
) with theeps
extension.Put this in your batch file and run it.
Note: You can't rename to the same filename, so I used
%%A.%%B.eps
.