![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 02:35 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]如何去掉文件名的最后几个字符? |
| 可打印版本 940 / 8 |
| 第1楼 flyhighxu | 发表于 2008-04-03 00:17 |
| 初级用户 发帖 11 积分 32 | |
|
[已结]如何去掉文件名的最后几个字符? 如何去掉文件名的最后几个字符?
比如有个文件名为 host_1.1.1.1_200710301232.log 我想去掉“_200710301232”这几个字符,但是不去掉扩展名“.log”, 批处理怎么写呢?谢谢 [ Last edited by HAT on 2008-12-31 at 02:04 ] |
|
| 第2楼 bat-zw | 发表于 2008-04-03 00:26 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
用变量替换: @echo off
set var=host_1.1.1.1_200710301232.log set var=%var:_200710301232=% echo %var%&pause |
|
| 第3楼 flyhighxu | 发表于 2008-04-03 00:32 |
| 初级用户 发帖 11 积分 32 | |
Originally posted by zw19750516 at 2008-4-3 12:26 AM: 呃,这个,是这样的,我有一堆文件,我想去掉文件名的最后15个字符,这15个字符不全是“_200710301232”,只是字符数目一样多,因此不能这样直接替换。 |
|
| 第4楼 bat-zw | 发表于 2008-04-03 00:44 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
也好办: 假设所有文件在d盘a文件夹中:
[ Last edited by zw19750516 on 2008-4-3 at 12:49 AM ] |
|
| 第5楼 zh159 | 发表于 2008-04-03 00:44 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
自己测试:
[ Last edited by zh159 on 2008-4-3 at 12:46 AM ] |
|
| 第6楼 terse | 发表于 2008-04-03 02:13 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off
for /f "delims=" %%i in ('dir/b /a-d *.log') do set a=%%i&call echo %%a:~0,-15%%%%~xi pause |
|
| 第7楼 flyhighxu | 发表于 2008-04-03 16:01 |
| 初级用户 发帖 11 积分 32 | |
Originally posted by zh159 at 2008-4-3 12:44 AM: 这个不错,受教了,^_^ |
|
| 第8楼 xtanbmy | 发表于 2008-04-07 19:30 |
| 初级用户 发帖 31 积分 47 | |
|
学习了,是个好东西。
|
|
| 第9楼 nanoking | 发表于 2008-12-30 07:49 |
| 新手上路 发帖 3 积分 5 | |
|
试试这个看行不行!
晕,没有看发贴的时间! [ Last edited by nanoking on 2008-12-30 at 07:57 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |