如何编写使用一个文件名作为另一个文件名的一部分的批处理文件

时间:2014-01-14 15:41:51

标签: batch-file

我有一些从cmd初始化的java可执行程序。我的问题如下:我想从某个目录中读取所有文件。接下来,我想将程序运行的次数与我文件夹中的文件数一样多。所需的输入是包含数据的文件的路径以及将写入结果的文件的名称。现在我的问题是,我怎样才能编写一个简单的批处理文件来为我做这个?

例如:

  1. 我的文件夹中有一个文件列表

    file_1.xls file_2.xls file_3.xls

  2. 我想运行一个循环并为每个文件初始化下面指定的行:

    java -jar -Xmx1000M Program.jar pathToInputFile PathToOutputfile

  3. 例如对于文件file_1.xls我想将结果写入具有相同名称但扩展名不同的文件,并在此文件的开头添加一些常量前缀。如果是file_1.xls,我想将结果写为Output_file_1.txt for file_2.xls - > Output_file_2.txt for file_3.xls - > Output_file_3.txt 等等...

    任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

pushd "c:\excel_files"
for %%F in (*.xls) do (
  java -jar -Xmx1000M Program.jar "%%~nxF" "Output_%%~nF.txt"
)

虽然我建议您使用-classpath并直接调用入口点类而不是直接调用.jar