中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 13:07
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 修改文件名前缀的问题
可打印版本  6,012 / 18
第16楼 jmz573515 发表于 2006-12-24 09:11
银牌会员 发帖 464 积分 1,212
'楼主的第一个问题,(VBS写的,只处理当前文件夹)
Set WshShell = WScript.CreateObject("WScript.Shell")
set fso=createobject("scripting.filesystemobject")
on error resume next
set folder=fso.getfolder(WshShell.CurrentDirectory)
set files=folder.files
for each file in files
if lcase(fso.GetExtensionName(file)) ="txt" then
b=b+1
file.name=FSO.GetBaseName(File) & b & ".txt"
end if
next
msgbox "已经将所有txt文件以“基本文件名+序号”的形式命名。",48+4096,"操作完成"
第17楼 handan 发表于 2007-11-24 17:25
初级用户 发帖 12 积分 30
@echo off
set num=0
for /f "tokens=*" %%i in ('dir /s/b .') do (
set /a num+=1
ren "%%i" "%%~n!num!.txt"
)
pause
第18楼 wooglle 发表于 2010-12-02 12:00
初级用户 发帖 14 积分 23
综合楼上各种代码,组合了可以处理带空格文件名的代码


第19楼 Hanyeguxing 发表于 2010-12-02 12:17
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
[code]@echo off&setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /a-d/b *.jpg') do (
set/a a+=1
ren "%%i" "%%~ni!a!%%~xi"
)
这样写就可以。
findstr /i ".jpg"在findstr中,点有特殊意义,所以不能这样写
dir本身就不区分文件名的大小写,可以用dir直接*匹配
既然已经确定匹配.jpg,就不需要if not "%%~ni"=="%~n0" 了。
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023