[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]处理一批文件的BAT脚本为何只处理最后一个?

我想用下面的代码处理一批文件,但就处理了最合一个,其它的不处理,不知怎么办,请帮帮我?
  1. @echo on
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir/a-d/b *.flv') do (
  4. set "var=%%i"
  5. set v=LoadPlugin("D:\greensoft\MeGUI\tools\ffms\ffms2.dll")
  6.   echo !v!)>!var!.avs
  7.   echo FFVideoSource("j:\!var!"  threads=1) >>!var!.avs
  8.   echo #deinterlace >>!var!.avs
  9.   echo crop(0  58  0  -26) >>!var!.avs
  10.   echo LanczosResize(720 416) # Lanczos (Sharp) >>!var!.avs
  11.   echo #denoise >>!var!.avs
  12. )
  13. pause
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 wc726842270 于 2012-10-11 15:24 编辑

还是不想为什么了吧,有点困了
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir/a-d/b *.VBS') do call :edit %%i
  4. echo.
  5. set/p=处理完毕,请检验<NUL
  6. pause>nul&goto eof
  7. :edit
  8. set "var=%1"
  9. set v=LoadPlugin("D:\greensoft\MeGUI\tools\ffms\ffms2.dll")
  10.   echo !v!)>!var!.avs
  11.   echo FFVideoSource("j:\!var!"  threads=1) >>!var!.avs
  12.   echo #deinterlace >>!var!.avs
  13.   echo crop(0  58  0  -26) >>!var!.avs
  14.   echo LanczosResize(720 416) # Lanczos (Sharp) >>!var!.avs
  15.   echo #denoise >>!var!.avs
复制代码
看一下写的是否与你要的有出入
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

谢谢,结果正是我想要的。

TOP

不好意思。没仔细看,不能出我要的结果。生成的文件名不对。

TOP

  1. @echo off
  2. for /f "delims=" %%i in ('dir/a-d/b *.vbs') do (
  3.   (echo LoadPlugin^("D:\greensoft\MeGUI\tools\ffms\ffms2.dll"^)
  4.   echo FFVideoSource^("j:\%%i"  threads=1^)
  5.   echo #deinterlace
  6.   echo crop^(0  58  0  -26^)
  7.   echo LanczosResize^(720 416^) # Lanczos ^(Sharp^)
  8.   echo #denoise)>%%i.avs
  9. )
复制代码
将第二行中的vbs改成你需要的
1

评分人数

TOP

本帖最后由 mrhxn 于 2012-10-12 10:49 编辑

谢谢,简洁,完全可以了。不过第一个改了一下也可以的:就是路径还是不能处理,
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir/a-d/b *.flv') do call :edit "%%i"
  4. echo.
  5. set/p=处理完毕,请检验<NUL&exit
  6. pause>nul&goto eof
  7. :edit
  8. set var=%1
  9. set v=LoadPlugin("D:\MeGUI\tools\ffms\ffms2.dll")
  10.   echo !v!>!var!.avs
  11.   echo FFVideoSource(!var!, threads=1) >>!var!.avs
  12.   echo #deinterlace >>!var!.avs
  13.   echo crop(0,58,0,-26) >>!var!.avs
  14.   echo LanczosResize(720,416) # Lanczos (Sharp) >>!var!.avs
  15.   echo #denoise >>!var!.avs
复制代码

TOP

返回列表