中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-08 06:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎么在这段代码中加入删除文件名[已解决] 查看 801 回复 11
楼 主 [求助]怎么在这段代码中加入删除文件名[已解决] 发表于 2008-04-20 22:48 ·  中国 广东 广州 移动
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
移动文件名是这样的 123-PROFILE1.nc 我要在下面这段代码中加入删除-这个符号以后不管多少字的代码,.如果文件名是123_PROFILE1.nc 就把_这个符号也改成- 扩展名不动

@echo off
set num=0
for /f "delims=" %%i in ('dir /a-d /b e:\FIM\*.nc') do (
if not exist "e:\yiming\%%i" (
copy "e:\FIM\%%i" e:\yiming>nul
) else call :copy_nc "e:\FIM\%%i" "%%~ni" %%~xi
)


:copy_NC
set file_n=%2
set "file_n=%file_n:~1,-1%"
set file_x=%3
set /a num+=1
if not exist "e:\yiming\%file_n%%num%%file_x%" (
copy %1 "e:\yiming\%file_n%%num%%file_x%">nul
) else call :copy_nc %1 "%file_n%" %file_x%
set num=0

[ Last edited by meiyongderen on 2008-4-22 at 01:43 AM ]
2 发表于 2008-04-20 23:05 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
dos学了一个小时能达到如此境界的必是人-----精。^_^
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
3 发表于 2008-04-20 23:15 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
用-分割的方式不行麽?
4 发表于 2008-04-20 23:24 ·  中国 广东 广州 移动
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
其实这段代码是抄来的,.学一个小时有那么精就好了,.呵呵,..
5 发表于 2008-04-21 11:18 ·  中国 广东 广州 移动
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
求各位大哥大姐帮帮忙写一下,.....
6 发表于 2008-04-21 11:25 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
请描述清楚点,说实话不是不帮你,我看你的问题看得一头雾水,不知道楼主要达到什么效果?
批处理之家新域名:www.bathome.net
7 发表于 2008-04-21 15:14 ·  中国 广东 广州 移动
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
比如文件名是这样的 123-PROFILE1.nc 5678-PROFILE1.nc 我要删除-这个符号以后不管多少字的代码,. -前面的不动,..如果文件名是123_PROFILE1.nc 就把_这个符号也改成- 扩展名不动
8 发表于 2008-04-21 16:18 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
123_PROFILE1.nc改成-后,也需要舍去-后面的吗?
9 发表于 2008-04-21 17:40 ·  中国 广东 佛山 电信
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
是的,.......就是这个意思,..就是 --后面的字都删除,不要删除扩展名就行
10 发表于 2008-04-21 19:56 ·  中国 广东 广州 移动
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
有人帮个忙吗
11 发表于 2008-04-21 20:21 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
这样处理不一样吗
@echo off
for /f "delims=-_" %%i in ('dir /b *.nc') do echo %%i-.nc
pause
简单!简单!再简单!
12 发表于 2008-04-21 23:11 ·  中国 广东 广州 移动
初级用户
积分 72
发帖 28
注册 2008-04-19 01:37
18年会员
UID 116290
性别 男
状态 离线
谢谢terse大哥帮我解答,..可能理解错了我的意思,..文件还没没有改名,...
就是从FIN文件移动到YIMING文件下并改名,.,上面那段代码是遇到同名的会自动累加的
论坛跳转: