楼 主
求以本文件夹如12345为基础生成12346的文件夹
发表于 2007-11-22 02:41 · 中国 广东 佛山 电信
新手上路
★
积分 19 发帖 9 注册 2007-11-22 01:28 18年会员 UID 103384 性别 男
状态 离线
因本人要经常做重复性的动作,郁闷死啦,想请各位大虾帮忙编写一个批处理命令,把小弟从困苦中解救处理~感激不尽!要求如下:
一 以本文件夹如12345为基础生成12346的文件夹(12345和12346都位于同一父目录)
二 并把12345文件夹已经存在的12345_1_01.tif 12345_2_01.tif 12345清单.doc复制到12346文件夹中,并改成相应的文件名,即12346_1_01.tif 12346_2_01.tif 12346清单.doc
三 把12345_2_01.tif 复制成两个新的文件12345_2_02.tif 12345_2_03.tif 在12345文件夹中 原来的 12345_2_01.tif 要保留
四 执行顺序为 一 ,二 , 三,并把此批处理命令复制到12346文件夹中,并在12345文件夹中删除掉此批处理命令
第 2 楼
发表于 2007-11-22 08:10 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
第 3 楼
请问第三点怎样实现啊?
发表于 2007-12-03 18:26 · 中国 广东 佛山 电信
新手上路
★
积分 19 发帖 9 注册 2007-11-22 01:28 18年会员 UID 103384 性别 男
状态 离线
多谢版主的激励,第一、二点以解决,但第三点还没有想到办法实现,请教各位,第三点如何实现啊?谢谢拉
第 4 楼
发表于 2007-12-03 20:06 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
Originally posted by 17500 at 2007-12-3 18:26:
多谢版主的激励,第一、二点以解决,但第三点还没有想到办法实现,请教各位,第三点如何实现啊?谢谢拉
你试试这个,但是通用性不是很好:
@echo off & Setlocal EnableDelayedExpansion
for %%a in (12345_2_01.tif) do (
set filename=%%~nxa
for /f "delims=_. tokens=1-4" %%b in ("!filename!") do (
set /a file1=%%d+1
set /a file2=file1+1
set file1=0!file1!
set file2=0!file2!
set file1=!file1:~-2!
set file2=!file2:~-2!
copy "!filename!" "%%b_%%c_!file1!.%%e"
copy "!filename!" "%%b_%%c_!file2!.%%e"
)
)
第 5 楼
不能实现
发表于 2007-12-03 22:44 · 中国 广东 佛山 电信
新手上路
★
积分 19 发帖 9 注册 2007-11-22 01:28 18年会员 UID 103384 性别 男
状态 离线
不能实现,因为我的 文件夹是随机生成的(全部为数字),有规律,就是111112,111113,111114...范围:000000至999999,所生产的tif文件名也是随机的,但跟文件夹的名字是类似的,也就是111112_1_01.tif, 111113_1_01.tif, 111114_1_01.tif ...所以难点在于如何将当前的文件夹的名字当成要改名的一部分,即一个变量,只是在后面添加上_1_02.tif这个后缀 ,而且要判断111114_1_02.tif是否存在,不存在才复制,已经存在的就不复制了,111114_1_03.tif也一样
现在附上取得当前文件夹名字的批处理,如下:
@echo off
:: 获取当前目录名
:: 当路径中含有空格、感叹号、点号、&和~的时候,也能正确提取
set "cd_=%cd%"
:loop
set "cd_=%cd_:*\=%"
set "cd_tmp=%cd_:\=%"
if not "%cd_tmp%"=="%cd_%" goto loop
echo "%cd_%"
pause
我就是不懂如何将文件名当成一个变量来用,在线等待,谢谢版主的帮助
第 6 楼
发表于 2007-12-03 23:35 · 中国 辽宁 辽阳 联通
初级用户
★★
DOS之迷
积分 174 发帖 81 注册 2007-11-07 21:13 18年会员 UID 102004 性别 男
状态 离线
一样的啊SET NUM=12345
COPY %NUM%_2_01.tif %NUM%_2_02.tif %NUM%_2_03.tif
愛意之无尽@灵犀!
QQ:71216716 E_mail:l.h.r.@163.com
第 7 楼
提示找不到文件
发表于 2007-12-04 15:35 · 中国 广东 佛山 电信
新手上路
★
积分 19 发帖 9 注册 2007-11-22 01:28 18年会员 UID 103384 性别 男
状态 离线
6楼的方法我以前已尝试过,但提示找不到文件,因为在每个文件的文件名都不是一样的
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正