相关疑难解决方法(0)

批处理脚本 - 对目录中的每个文件运行命令

我需要将一些xls文件转换为xlsx文件.我可以通过将此命令运行到cmd提示符(windows)中将一个xls文件成功转换为xlsx:

ssconvert inputFileName.xls outputFileName.xlsx
Run Code Online (Sandbox Code Playgroud)

(ssconvert是一个Gnumeric的命令行实用程序,可以在不同的电子表格文件格式之间进行转换)

我想编写一个批处理文件,指定目录中的FOR EACH文件运行我上面写的命令,使用当前文件名作为输入和输出文件名.

例如,如果我有这组文件:

c:\directory\file1.xls
c:\directory\file2.xls
c:\directory\file3.xls
Run Code Online (Sandbox Code Playgroud)

输出应该是

c:\directory\file1.xlsx
c:\directory\file2.xlsx
c:\directory\file3.xlsx
Run Code Online (Sandbox Code Playgroud)

所以批量伪代码应该是这样的

directory = c:\directory\
for (fileName in directory)
    ssconvert fileName.xls fileName.xlsx
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

foreach cmd batch-file ssconvert

35
推荐指数
3
解决办法
9万
查看次数

没有cmd/c的forfiles

我可以按预期运行forfiles命令 cmd /c

C:\>forfiles /c "cmd /c ping /a"
IP address must be specified.

但是,如果我删除它cmd /c,它不再识别任何参数,只有基本命令

C:\>forfiles /c "ping /a"
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

我必须使用cmd /c,即使PATH上有外部命令吗?

cmd forfiles

10
推荐指数
2
解决办法
2010
查看次数

标签 统计

cmd ×2

batch-file ×1

foreach ×1

forfiles ×1

ssconvert ×1