删除批处理中的“输入”字符?

时间:2014-02-26 22:06:13

标签: batch-file exiftool

我使用名为“exiftool”的工具从视频文件中读取元数据信息以进行列表/分类。 Exiftool输出是这样的。

1920x1080
2:58:09
12421 MB

我想要的是什么;

[1920x1080][2:58:09][12421 MB]

这就是我想要删除“输入”字符;

:_Dongu2
set GELEN=%~1
set /a SAYAC2+=1
if %SAYAC2% LEQ 99 (
  if %SAYAC2% LEQ 9 (
    title Ilerleme Durumu: 00%SAYAC2% / %FSAY%
  ) else (
    title Ilerleme Durumu: 0%SAYAC2% / %FSAY%
  )
) else (
  title Ilerleme Durumu: %SAYAC2% / %FSAY%
)

setlocal DisableDelayedExpansion
set "firstLineReady="
(
    for /F "eol=$ delims=" %%a in ('exiftool -s3 -ImageSize -Duration -FileSize "%~1\%GELEN:~20,-23%.mp4"') DO (
        if defined firstLineReady (echo()
        set "firstLineReady=1"
        <nul set /p "=%%a"
    )
)>> out.txt
goto :EOF

到目前为止,我没有解决这个问题。我在另一个问题上从Jeb's answer找到了这个函数。这就是我调用此函数的方式

(for /f "tokens=*" %%x in (%MTEMP%) do call :_Dongu2 "%%x") && title %NAME%

%MTEMP%文件就像

Z:\Movies\000y.001y\The.Lord.of.the.Rings.The.Fellowship.of.the.Ring.(2001){0120737}[00085]
Z:\Movies\000y.001y\The.Lord.of.the.Rings.The.Return.of.the.King.(2003){0167260}[00087]
Z:\Movies\000y.001y\The.Lord.of.the.Rings.The.Two.Towers.(2002){0167261}[00086]

每部电影的态度都必须在另一条线上。 out.txt必须像;

[1920x1080][2:58:09][12421 MB][The.Lord.of.the.Rings.The.Fellowship.of.the.Ring]
[1920x1080][3:02:31][14660 MB][The.Lord.of.the.Rings.The.Return.of.the.King]
.
.
.

2 个答案:

答案 0 :(得分:1)

这是一个批处理解决方案:

@echo off
<"file.txt" (
set /p a=
set /p b=
set /p c=
) 
echo [%a%][%b%][%c%]

输出:

[1920x1080][2:58:09][12421 MB]

答案 1 :(得分:1)

直接询问exiftool产生所需的输出

exiftool -p [${ImageSize}][${Duration}][${FileSize}] videoFile.mp4