在文件夹中的多个文件上运行命令行

时间:2013-02-22 07:45:46

标签: command-line vbscript

我想要一个简单的vbscript,甚至只是一个命令行单行,允许我(伪代码):

for each file FL (*.ts) in folder
   run command 'ffprobe -show_frames -select_streams 1 -print_format csv -i "folder\FL" > "folder\FL.Name.csv"'
next

就像代码所说,我只希望它能处理.TS类型的文件,我需要通过该命令行运行文件夹中的每个文件,并将stdout重定向到csv文件。我可以在C#中创建一个小程序,但我宁愿使用轻量级脚本或其他东西,我是新手。有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

处理给定文件夹中具有特定扩展名的文件可以这样做:

Set sh  = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

For Each f In fso.GetFolder("C:\foo").Files
  If fso.GetExtensionName(f) = "ts" Then
    sh.Run "...", 0, True
  End If
Next

将输出重定向到CSV文件(IMHO)最好通过运行带有cscript.exe的VBScript并将STDOUT重定向到文件来完成:

cscript your.vbs > output.csv