找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14516|回复: 5

[文件操作] 批处理怎样移动文件夹内图片和文本?

[复制链接]
发表于 2010-3-23 21:32:12 | 显示全部楼层 |阅读模式
请教移动文件夹内图片和文本,命名成文件夹的名字并放入指定文件夹的批处理
我想把所有分区根目录下的 *:\VOD\连续剧\影片名字\      这样子目录下的所有JPG图片和TXT更换成LOGO.JPG和NOTES.TXT这样的文件名(每个影片里面只有一个JPG和TXT文件的,但是有些名字不一样的),然后在d:\资料   的文件夹下面新建影片名字的文件夹并放入LOGO.JPG和NOTES.TXT的批处理
 楼主| 发表于 2010-3-23 21:41:30 | 显示全部楼层
最好用复制,移动的话害怕弄错了
发表于 2010-3-23 22:49:44 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str=D:\Vod302\Web\MovieInfo"
  4. :input
  5. set /p lp=请输入要处理的文件夹:
  6. if not defined lp goto input
  7. set lp=%lp:"=%
  8. if "%lp:~-1%"=="" set lp=%lp:~0,-1%
  9. if not exist "%lp%" (
  10.         echo 文件夹不存在
  11.         goto input
  12. )
  13. call :move %lp%
  14. del a.txt
  15. goto :eof



  16. :move
  17. for /r %1 %%a in (*.jpg *.txt) do (
  18.   set "sstr=%%a"
  19.   set sstr=!sstr: =!
  20.   call echo %%sstr%% >>a.txt
  21.                                   )
  22. for /f "tokens=4,5,6 delims=" %%i in (a.txt) do (
  23.   echo %%i   %%j     %%k
  24.     if "%%k"=="" ( md %str%\%%i
  25.                    move  %1\%%i\*.jpg %str%\%%i\LOGO.jpg
  26.                    move  %1\%%i\*.txt %str%\%%i\NOTES.txt
  27.                  ) else ( md %str%\%%j
  28.                           move  %1\%%i\%%j\*.jpg %str%\%%j\LOGO.jpg
  29.                           move  %1\%%i\%%j\*.txt %str%\%%j\NOTES.txt
  30.                          )
  31.                                                  )
复制代码
前两天我这也弄这个酷吧电影系统时我写的,你看着改改路劲就可以。
发表于 2010-3-23 22:52:40 | 显示全部楼层
比如“D:\vod\港台二”,运行批处理,你直接拖动这个文件夹进来就可以
看你资料才发现你是叶哥哦,我是大唐的谌刚。嘿嘿,前两天的代码有点错误,就是文件夹如果是“XXX 高清版”就不得行,我想了一下就把空格给去除了,但是现在这个代码我没调试,只是在前天的代码上去掉了空格。我刚开始写的时候,用copy命令,但是COPY过去的图片打开来啥子都没得显示

[ 本帖最后由 sgaizxt001 于 2010-3-23 22:55 编辑 ]
发表于 2010-3-23 23:23:20 | 显示全部楼层
@echo off&setlocal enabledelayedexpansion&cd /d %~dp0&set dr=c d e f g h i  j k l
SET/P VC=请输入要操作的目录名
:k_
SET/P VK=把要转存的目标文件侠拖放到本窗口
if defind VC goto %0
if defind VK  goto k_

if exist 0.txt  del 0.txt /q/y
for  %%a in (%dr%) do IF /I EXIST %%a:\%VC% dir /a/b/s "%%a:\%VC%">>0.txt
:: 注意: copy ""  "" 前面对引号要省略    for  过的变量,  copy 下不能引用对引号, 否则提示找不到文件, 这是我血的教训, 曾经就是这对引号, 害我把批处理检查了N片
::鼠标双击我去六楼(就是犯了这个错误)
for  /f   "delims=*"  %%i in (0.txt) do set name=%%~pi&SET "name=!name:%VC%=%VK%!"&copy  %%i  "!name!"
for /f %%c in ('dir /a/s/b "%VK%"')  do (
if /i exist  "%%~xc"==".txt"  ren %%~i  "%%~dpinotes.txt"
if /i exist  "%%~xc"==".jpg"   ren %%~i  "%%~dpilogo.jpg"
)

[ 本帖最后由 x9tiancmd 于 2010-3-23 23:47 编辑 ]
 楼主| 发表于 2010-3-25 10:52:48 | 显示全部楼层
晕了,貌似空格可以在路径上加引号可以解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:44 , Processed in 0.025035 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表