中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 22:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么新建一个文件 不是文件夹 遇到重复名字的会重命名 查看 902 回复 6
楼 主 怎么新建一个文件 不是文件夹 遇到重复名字的会重命名 发表于 2007-03-27 08:13 ·  中国 福建 莆田 电信
初级用户
积分 127
发帖 7
注册 2004-03-07 00:00
22年会员
UID 19500
性别 男
状态 离线
比如我要在f盘新建一个123.txt文件 里面的内容是 你好!!
可以这样写@echo off
echo 你好!!>f:\123.txt

但要是f盘已经有一个123.txt了 我怎么让新建的这个文件夹换个名字
2 发表于 2007-03-27 08:21 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

先判断是否有该文件,然后再来执行命令

@echo off
if exist F:\123.txt ren F:\123.txt 123_.txt
echo 你好!!>F:\123.txt


3 发表于 2007-03-27 08:21 ·  中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
利用if和set命令可以解决,具体参数在if /? 和set /?里面看

@echo off
set fn=123.txt
if exist f:\123.txt set /p fn=文件%fn%以存在,请输入另外一个文件名:
echo 你好!!>f:\%fn%
pause
4 发表于 2007-03-27 08:36 ·  中国 福建 莆田 电信
初级用户
积分 127
发帖 7
注册 2004-03-07 00:00
22年会员
UID 19500
性别 男
状态 离线
谢谢你们啊 真是感激啊!!!!!!!!
5 发表于 2007-03-27 08:49 ·  中国 福建 莆田 电信
初级用户
积分 127
发帖 7
注册 2004-03-07 00:00
22年会员
UID 19500
性别 男
状态 离线
再请问下 set /p 允许set读取输入行 那输入行是不是接着下去的第一行呢
6 发表于 2007-03-27 08:56 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by shallen at 2007-3-26 19:49:
再请问下 set /p 允许set读取输入行 那输入行是不是接着下去的第一行呢


  setv/p只能接收一行的输入,不能接收多行的输入,回车之后就结束了,你可以试试。
7 发表于 2007-03-27 09:15 ·  中国 浙江 台州 仙居县 电信
新手上路
积分 9
发帖 5
注册 2007-01-19 11:12
19年会员
UID 77021
性别 男
状态 离线
Originally posted by dikex at 2007-3-26 07:21 PM:
利用if和set命令可以解决,具体参数在if /? 和set /?里面看

@echo off
set fn=123.txt
if exist f:\123.txt set /p fn=文件%fn%以存在,请输入另外一个文件名:
echo 你好!!>f:\%fn%
pause


感觉fn=123 %fn%改成%fn%.txt 这样修改名字不用在要txt后缀
论坛跳转: