中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 文件类型判断 上一主题 | 下一主题
qqs09123
新手上路





积分 8
发帖 8
注册 2010-7-17
状态 离线
『楼 主』:  文件类型判断

求教坛里高手一问题:批处理能否判断一个文件的类型?我想做一个批处理,首先判断输入的文件,如果文件类型是txt文档或prn文档,则显示文件内容,否则直接退出(exit)。判断文件类型可以直接用扩展名来判断。但本人算是一菜鸟,判断文件类型用什么命令?

2010-9-11 21:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

for /?


%~xI



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-9-11 22:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qqs09123
新手上路





积分 8
发帖 8
注册 2010-7-17
状态 离线
『第 3 楼』:  

本人很菜,对for的使用不明白,可否请教帮助完成下面的红色汉字内容:(下面的是整个批处理的一部分)
set /p name=请输入文件名:
判断,如果是.txt或.prn文件
echo 文件
如果不是.txt或.prn文件
exit

[ Last edited by qqs09123 on 2010-9-12 at 11:37 ]

2010-9-12 11:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 4 楼』:  

呵呵 要什么%~XI
这样就可以了

@echo off&setlocal enabledelayedexpansion
set /p i=请输入文件名:
for /f "tokens=2 delims=." %%j in ("%i%") do (
if "%%j"=="txt" ( echo 您输入的是%i% )||( goto :eof)
if "%%j"=="prn" (echo 您输入的是%i%)||( goto :eof)

)

2010-9-12 15:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

ABC.EDF.txt?



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-9-12 23:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 6 楼』:  

slore你真,,呵呵起名要标准啊。
比如起个中国名 要么三个字要么两个字,起四个字的名字就成鬼子了

2010-9-13 12:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 7 楼』:  

你不看电影么?各种[,.-很多的。。。
4个字的是鬼子?

司马、欧阳……这类名不是中国的姓?
……

WINDOWS能让你起的名字,对windows来说都是标准的。

要么用变量的:~方法取偏移量为后4四位字符和.txt 与.prn比较
要么直接用%%~XI取扩展名比较



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-9-13 13:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 8 楼』:  

程序讲究的是严密,slore说的情况不能不考虑

2010-9-13 13:06
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 9 楼』:  

呵呵,恩恩 以后我考虑全面点。
我修改了下:

@echo off
:input
set /p i=请输入文件名:
for %%j in ("%i%") do (
if "%%~xj"==".txt" (
echo 您输入的是%i%
pause)||( goto :error)
if "%%~xj"==".prn" (
echo 您输入的是%i%
pause)||( goto :error)
)
:error
echo 文件类型不符合标准,请输入txt或prn类型文件
goto :input



帮忙回答下我的帖子呀:http://www.cn-dos.net/forum/viewthread.php?tid=52398&fpage=1

谢谢!

[ Last edited by coldface on 2010-9-13 at 14:55 ]

2010-9-13 14:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: