中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]对指定文件夹下的文件以递增方式重命名的问题
作者:
标题: [求助]对指定文件夹下的文件以递增方式重命名的问题 上一主题 | 下一主题
yaozidm124
新手上路





积分 4
发帖 4
注册 2008-12-5
状态 离线
『楼 主』:  [求助]对指定文件夹下的文件以递增方式重命名的问题

我相把d:\picture目录下的所有文件重命名成picture001.jpg,   picture002.jpg,pinture003.jpg.......
请问怎么写这个批处理?

───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2008-12-06]在帖子标题中增加搜索关键字
说明:原标题"重命名的问题"不利于论坛搜索
处罚:论坛新人免于积分处罚
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-12-6 at 20:52 ]

2008-12-6 16:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 2 楼』:  

这个题目我看过几千遍了……
因为经常贴我自己那份代码所以后来都不好意思发表了……
做了一个可以选择的%……
本人比较不坏 所以不扣你分,以德服人,下次有问题先搜一下论坛的帖子。
@echo off &setlocal enabledelayedexpansion
title made by http://hi.baidu.com/523066680
:write-geshi
set /p geshi="请输入将被重命名的文件格式,如jpg:"
if not exist *.%geshi% echo.不存在该格式 &goto write-geshi
if "%geshi%"=="" echo.不存在该格式 &goto write-geshi
cls
:write-left
echo.给文件名输入特征部分,输入a-则命名为a-001,a-002……
echo.直接enter则名字直接为序号
echo.不要输入特殊字符
set /p tezheng=":"
:write-lei
set /p lei="选择类型,输入 001 或1 :"
if "%lei%"=="001" (call :001 &goto :over)
if "%lei%"=="1" (call :1) else (echo.输入错误 &goto :write-lei)
:over
echo over! 按任何键继续 &pause>nul &exit
:001
set /a i=0,j=0,k=0
for /f "tokens=*" %%a in ('dir *.%geshi% /b') do (
set /a k+=1
if !k! equ 10 (set j=)
if !k! equ 100 (set i=)
ren "%%a" "%tezheng%!i!!j!!k!.%geshi%" >nul 2>nul
echo !i!!j!!k!
)
goto :eof
:1
set /a k=0
for /f "tokens=*" %%a in ('dir *.%geshi% /b') do (
set /a k+=1
ren "%%a" "%tezheng%!k!.%geshi%"
echo !k!
)
goto:eof




综合型编程论坛

我的作品索引
  
2008-12-6 16:55
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
yaozidm124
新手上路





积分 4
发帖 4
注册 2008-12-5
状态 离线
『第 3 楼』:  

谢谢了,我是急了点,下次不会了!还想请问一下,批处理里面的  “! ~ ”等等这些符号的意思和用法吗?

2008-12-6 17:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yaozidm124
新手上路





积分 4
发帖 4
注册 2008-12-5
状态 离线
『第 4 楼』:  

if !k! equ 10 (set j=)
if !k! equ 100 (set i=)
ren "%%a" "%tezheng%!i!!j!!k!.%geshi%" >nul 2>nul
goto :eof

对经上人码能解释下经下3点吗?
1:!k! equ 10 (set j=) 中的equ 能换成==吗?
2:!k! equ 10 (set j=) 中的set j=是什么意思?我没能理解!不好意思,我学习不久
3:  eof的意思!
您的回答对于初次接触的我帮助是非常大的!

2008-12-6 17:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  Re 4楼

1:可以
2:把变量j设置为空
3:End Of File,也就是文件末尾,从一定程度上可以理解为结束该批处理



2008-12-6 19:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: