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

[文本处理] (已解决)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字幕文件里的广告的
1

评分人数

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

  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
复制代码

TOP

回复 2# pcl_test

运行了 不行啊 没有对文件做处理

TOP

回复 3# pendave

测试没有问题

TOP

回复 4# pcl_test

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

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

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

里面的srt字幕

新生成后的字幕放进

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

该怎么写?谢谢

TOP

  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
复制代码
1

评分人数

    • pendave: 很赞很厉害的!!感谢!技术 + 1

TOP

回复 6# pcl_test


路径好长了 不能短吗?

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

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

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

里面吗?

TOP

本帖最后由 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
复制代码

TOP

回复 8# pcl_test


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

TOP

返回列表