Board logo

标题: [文本处理] (已解决)BAT批量替换srt字幕文件后保存的新文件都是0字节了,怎么搞啊? [打印本页]

作者: pendave    时间: 2015-4-22 18:39     标题: (已解决)BAT批量替换srt字幕文件后保存的新文件都是0字节了,怎么搞啊?

我替换srt字幕文件后保存的新srt文件都是0字节了  怎么搞啊

对单个srt文件处理没有问题啊
  1. findstr /v "【.*】" a.srt >new_a.srt
复制代码
怎么一批量就有问题
  1. @echo off
  2. for /f "usebackq tokens=*" %%d in (`dir /s /b *.srt`) do (
  3.     findstr /v "【.*】" %%d > "%%~dpd\000_%%~nd.srt"
  4. )
  5. exit
复制代码
我本来是用 Actual Search & Replace 这个软件来批量删除srt字幕文件里的广告的
作者: pcl_test    时间: 2015-4-22 18:52

  1. @echo off
  2. md "处理结果\" 2>nul
  3. for /f "delims=" %%a in ('dir /s /b *.srt') do (
  4. >"%~dp0处理结果\%%~nxa" findstr /v "【.*】" "%%a"
  5. )
  6. pause
复制代码

作者: pendave    时间: 2015-4-22 18:58

回复 2# pcl_test

运行了 不行啊 没有对文件做处理
作者: pcl_test    时间: 2015-4-22 19:15

回复 3# pendave

测试没有问题
作者: pendave    时间: 2015-4-22 19:37

回复 4# pcl_test

看到了,新文件放进了新建的文件夹 “处理结果” 里面了

但是所有srt文件全放进去了很乱。不能依照最初的所在子文件夹路径来保存文件吗?

比如路径 HD\Creating Gradient Meshes with Illustrator\1. Core Concepts

里面的srt字幕

新生成后的字幕放进

HD\处理结果\Creating Gradient Meshes with Illustrator\1. Core Concepts

该怎么写?谢谢
作者: pcl_test    时间: 2015-4-22 19:54

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. md "处理结果\" 2>nul
  4. for /f "delims=" %%a in ('dir /s /b *.srt') do (
  5. set "fpath=%%~dpa"
  6. md "%~dp0处理结果\!fpath:~3!" 2>nul
  7. >"%~dp0处理结果\!fpath:~3!%%~nxa" findstr /v "【.*】" "%%a"
  8. )
  9. pause
复制代码

作者: pendave    时间: 2015-4-22 20:56

回复 6# pcl_test


路径好长了 不能短吗?

比如我直接把srt文件都放在
F:\我的网站\zip\mp3

新生成的srt文件全保存进了
F:\我的网站\zip\mp3\处理结果\我的网站\zip\mp3

不能是
F:\我的网站\zip\mp3\处理结果

里面吗?
作者: pcl_test    时间: 2015-4-22 21:40

本帖最后由 pcl_test 于 2015-4-22 22:36 编辑

回复 7# pendave
直接替换原文件,注意备份
  1. @echo off
  2. for /f "delims=" %%a in ('dir /s /b *.srt') do (
  3. cd /d "%%~dpa"
  4. >$ findstr /v "【.*】" "%%~nxa"
  5. move $ "%%~nxa"
  6. )
  7. pause
复制代码

作者: CrLf    时间: 2015-4-23 15:06

回复 8# pcl_test


    用 findstr /s /m .* *.srt 可以取得相对路径




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2