2015-01-26 33 views
0

运行exe文件与循环,但这里是整个场景:批处理脚本 - 迪尔文件列表到变量,然后我有麻烦搞清楚了这一点每个文件

我有一大堆的FLV文件有元信息编码在它们中。我有一个小程序(flvmeta.exe),它可以通过命令行将元数据转换为文本,并且可以将该数据导出为文本文件。

我需要弄清楚这是怎么发生的: 用户将输入一个路径到一个目录,批处理文件应该CD到该目录中。

set /p PATH= Enter Path: 
CD /D %PATH% 

然后,我需要一种方法来列出没有头信息的文件名,如:

dir /b /a-d 

然后我需要从dir命令所有列表项为独立的变量这是一部分,我有麻烦了。 (有可能是一个更好的办法,比如一个循环,从一个文件转到下)

...然后我需要在多个文件来执行这个命令:

flvmeta.exe filename.flv >filename.txt 

因此,像我说过,对于这样的事情,循环可能会更好,而不是试图在dir命令之后从文件创建变量名称。我不熟悉命令行或批处理脚本,所以如果我错过了一个简单的解决方案,请原谅我。

我有数百个这些文件要通过,他们在不同的目录。这就是为什么我正在寻找使用批处理文件进行自动化的原因。

在此先感谢您的帮助。

+1

使用你自己的'PATH'变量是一个坏主意。它会与内置的路径变量相冲突。 – npocmaka 2015-01-26 18:35:05

+0

谢谢,我会牢记这一点。 – chisao101 2015-01-26 19:38:57

回答

0
set /p "mypath=Enter Path: " 
for %%i in ("%mypath%\*.flv") do flvmeta.exe "%%i" >"%%~dpni.txt" 

的表达%%~dpni看到for /?

+0

谢谢,我会试试看。 – chisao101 2015-01-26 19:48:07

0
@echo off 
set /p "_PATH= Enter Path:" 
set flvmeta=c:\flvmeta.exe 

pushd %_PATH% 

for "tokens=* delims=" %%a in ('dir /b /a-d *.flv') do (
    %flvmeta% "%%~fa" > "%%~na.txt" 
) 

,如果你愿意,你可以添加到/s dir命令递归搜索。

+0

谢谢,我会试试看。 – chisao101 2015-01-26 19:48:37

相关问题