Board logo

标题: [文件操作] 请问BAT怎么批量改名并移动到同名的目录里? [打印本页]

作者: skaoer    时间: 2013-1-22 18:25     标题: 请问BAT怎么批量改名并移动到同名的目录里?

本帖最后由 skaoer 于 2013-1-22 20:02 编辑



大家好,新人想求一个批处理,可以修改字幕文件并在指定目录下创建同名子目录并自动剪贴过去

例如

字幕文件在 F:\zimu\

电影文件在 F:\movie\


处理字幕文件 F:\zimu\OMG.2012.720p.chs.srt


自动删除掉文件名中的chs(这个是固定操作)变成

OMG.2012.720p.srt

并在F:\movie\下创建目录

OMG.2012.720p

然后自动把 OMG.2012.720p.srt 移动进 OMG.2012.720p 中

   
新人,弄半天搞不懂怎么写,求高手指教下,谢谢!
作者: apang    时间: 2013-1-22 19:09

本帖最后由 apang 于 2013-1-22 19:10 编辑

不考虑改名后有重名的情况
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b') do (
  3.   for /f "delims=." %%b in ("%%~na") do (
  4.     if "%%b" neq "%%~na" if "%~nx0" neq "%%a" (
  5.       md "%%b" 2>nul
  6.       move "%%a" "%%b\%%b%%~xa"
  7.     )
  8.   )
  9. )
  10. pause
复制代码

作者: skaoer    时间: 2013-1-22 20:04

回复 2# apang


    执行可以成功,感谢,但可能我的描述有点问题,现在已经在第一帖里修改了要求,请您帮我看看,应该怎么写,谢谢!
作者: apang    时间: 2013-1-22 23:24

本帖最后由 apang 于 2013-1-22 23:27 编辑

回复 3# skaoer

保存到zimu文件夹下运行
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b *.chs.srt') do (
  3.   for %%b in ("%%~na") do (
  4.     md "..\movie\%%~nb" 2>nul
  5.     move "%%a" "..\movie\%%~nb\%%~nb%%~xa"
  6.   )
  7. )
  8. pause
复制代码





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