![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 12:23 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 挑战——批量修改后缀名、并同时颠倒文件名 |
| 可打印版本 3,052 / 12 |
| 第1楼 lujice | 发表于 2011-01-22 18:32 |
| 新手上路 发帖 13 积分 12 | |
|
挑战——批量修改后缀名、并同时颠倒文件名 挑战——批量修改后缀名、并同时颠倒文件名
批处理的用途是—— 1、把目标文件夹(包含它的所有子目录)里,某类指定后缀名的文件,批量的修改为其它指定的后缀名。 2、同时,把目标文件夹(包含它的所有子目录)里,某类指定后缀名的文件,批量的颠倒文件名。 补充说明—— 1、批处理必须要支持:由用户在批处理的运行窗口,自行输入目标文件夹(或拖放获取路径)、原后缀名和新后缀名。 2、目标文件夹的路径,有可能含有空格。 比如“C:\Documents and Settings\Administrator”目录。 3、目标文件夹的路径,有可能含有汉字。 比如“C:\Documents and Settings\Administrator\桌面”目录。 4、目标文件夹的路径,有可能含有特殊字符。 比如"^"和“&”字符。 5、具体改名的例子是: 比如"1234.原后缀名",改名后就变为“4321.新后缀名” 6、双后缀名的情况是: 比如"1234.jpg.原后缀名",改名后就变为“gpj.4321.新后缀名”。 总之,只认最后一个后缀名为真实后缀名。前面的,全部按文件名处理,整体颠倒! 7、批处理必须要支持,对系统或隐藏属性文件的改名。但是,改名后,又必须恢复原来的属性。 [ Last edited by lujice on 2011-1-22 at 20:16 ] |
|
| 第2楼 lujice | 发表于 2011-01-22 18:35 |
| 新手上路 发帖 13 积分 12 | |
|
一个失败的例子 以下代码,支持子目录、支持路径含特殊字符、支持文件名含特殊字符。不支持颠倒文件名、不支持路径含空格、不支持文件名含空格。
[ Last edited by lujice on 2011-1-22 at 18:45 ] |
|
| 第3楼 lujice | 发表于 2011-01-22 19:05 |
| 新手上路 发帖 13 积分 12 | |
|
好奇怪?怎么又支持空格、特殊字符了? 好奇怪?怎么又支持空格、特殊字符了?
以下例子,语法与上大体相同。但是,它就是要支持空格和特殊字符! 百思不得其解...... [ Last edited by lujice on 2011-1-22 at 19:30 ] |
|
| 第4楼 fsfss | 发表于 2011-01-22 21:44 |
| 初级用户 发帖 20 积分 22 | |
|
指定后缀名的文件,批量的颠倒文件名
|
|
| 第5楼 lujice | 发表于 2011-01-23 11:03 |
| 新手上路 发帖 13 积分 12 | |
|
以下,是“批处理之家论坛”“tmplinshi ”老大的代码——
试验了!目前还没有发现Bug!! 这个工具,用于禁止(恢复)计算机某些功能的执行。比如禁止(恢复)“我的电脑——右键——管理”、比如禁止(恢复)“文件夹选项”、比如禁止(恢复)控制面板的所有项目、比如禁止(恢复)组策略、比如禁止(恢复)注册表...... 呵呵!这种禁止方法,别人还能轻易破解吗??? 万分感谢tmplinshi 老大!! 马上回去,抱起论坛的教程,慢慢咀嚼tmplinshi 老大的代码...... 再次感谢tmplinshi 老大!! [ Last edited by lujice on 2011-1-23 at 11:05 ] |
|
| 第6楼 lujice | 发表于 2011-01-23 11:14 |
| 新手上路 发帖 13 积分 12 | |
|
虽然我是一个不折不扣的菜鸟,只会最简单的命令。但是,我敢于尝试......
过两天,我会发一个U盘病毒免疫批处理。有一点原创的DIY,就是加一个把隐私文件藏进去的功能,再加强下防删除、防更名的能力。 高手就不看了,全是用简单命令写的语句。 回去抠脑壳吧 |
|
| 第7楼 modestleaner | 发表于 2011-01-23 20:36 |
| 初级用户 发帖 27 积分 26 | |
|
关于楼主和那个LZ贴的代码小菜有点不是很懂,望解答
在设置文件路径那段 set lj= set /p lj= 是可以把使用这个批处理的人拖进来或者输入的路径赋给LJ 但是后面在输入文件的后缀名的时候还是用了 set q= 或者类似的东西,请问难道可以把后缀也拖进去么? |
|
| 第8楼 glodboy | 发表于 2011-01-24 12:09 |
| 新手上路 发帖 11 积分 10 | |
Originally posted by modestleaner at 2011-1-23 20:36: set lj= rem 设置变量名称 set /p lj= rem 把获取的值赋给lj 个人理解,错误的地方请指正。 |
|
| 第9楼 lujice | 发表于 2011-01-24 15:43 |
| 新手上路 发帖 13 积分 12 | |
菜鸟对代码的说明Originally posted by modestleaner at 2011-1-23 20:36: 首先申明,我也是个很菜很菜的菜鸟,就连for语句都不怎么懂。共同学习吧! @echo off(不显示执行命令) :hsz(本段标签号) echo.&echo.&echo 请拖放要建立回收站的目录到本窗口! echo. set /p mulu=(给变量%mulu%赋值,支持手打输入或拖放) echo.&echo 请手打输入、或者粘贴输入回收站的名字。 echo.&echo 粘贴的方法是——在批处理的运行窗口点右键。 echo.&echo 如果回收站的名字中,包含空格、特殊字符和汉字, echo.&echo 则需要在名字的前后加上:英文的双引号—— " echo. set /p minzi==(手打输入给变量%minzi%赋值) md %mulu%\%minzi%(在指定目录下建立指定名字的文件夹) attrib +s +h %mulu%\%minzi%(更改它的属性为系统、隐藏) (echo echo CLSID={645FF040-5081-101B-9F08-00AA002F954E})>%mulu%\%minzi%\desktop.ini(把括号内的字符写入目标文件夹下的“desktop.ini”文件) attrib +s +h %mulu%\%minzi%\desktop.ini(更改“desktop.ini”文件的属性为系统、隐藏) echo.&echo 回收站已建立成功! echo.&echo 打开看看吧! echo. pause(暂停) start "" %mulu%(打开建立回收站的目录) goto (上级菜单的标签号) [ Last edited by lujice on 2011-1-24 at 15:47 ] |
|
| 第10楼 modestleaner | 发表于 2011-01-24 18:06 |
| 初级用户 发帖 27 积分 26 | |
Originally posted by glodboy at 2011-1-24 12:09: 首先感谢楼上各位的解答,不过恐怕兄台这里理解错了 ![]() /p 的作用是允许变量数值设成用户的一行输入。 那个在制定文件夹下建立回收站的倒是看懂了,没懂的还是那句。 |
|
| 第11楼 lujice | 发表于 2011-01-24 19:47 |
| 新手上路 发帖 13 积分 12 | |
Originally posted by modestleaner at 2011-1-23 20:36: 后缀不能拖进去。把文件拖进去后,显示的是包含文件名的完整路径。除非,你再用退格键,删除多余的字符只留下后缀名。但是这样做,和手打输入后缀名有何区别? [ Last edited by lujice on 2011-1-24 at 19:49 ] |
|
| 第12楼 lujice | 发表于 2011-01-24 19:48 |
| 新手上路 发帖 13 积分 12 | |
Originally posted by modestleaner at 2011-1-23 20:36: 后缀不能拖进去。把文件拖进去后,显示的是包含文件名的完整路径。除非,你再用退格键,删除多余的字符只留下后缀名。但是这样做,和手打输入后缀名有何区别? |
|
| 第13楼 modestleaner | 发表于 2011-01-25 00:48 |
| 初级用户 发帖 27 积分 26 | |
Originally posted by lujice at 2011-1-24 19:48: 嗯,我知道问价后缀名不能拖进去。我的意思是那么那句话不是多余的么? 既然后缀不能拖进去,只有靠手输入的话。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |