无忧启动论坛

标题: [请教]如何用P处理判断一个拖放过来的对象是文件还是文件夹?[已解决] [打印本页]

作者: netwinxp    时间: 2007-7-15 12:48
标题: [请教]如何用P处理判断一个拖放过来的对象是文件还是文件夹?[已解决]
如题!
本人在修改毛桃的CAB压缩P处理成支持拖放时遇到一个问题,如何判断拖放过来的对象是文件或者文件夹:Q ,通过.???显然是不行的,因为有的文件没有后缀,有的文件夹还带".":L 望各位大大不吝赐教,这里谢谢先了:hug:

[ 本帖最后由 netwinxp 于 2007-7-15 10:07 PM 编辑 ]
作者: lxl1638    时间: 2007-7-15 13:16
不懂,

Exist 行不行?不存在的文件就当文件夹?
作者: netwinxp    时间: 2007-7-15 13:42
不行啊,if exist 文件名或目录名 都会返回正确:L
作者: netwinxp    时间: 2007-7-15 13:56
看来只能用dir 文件名或目录名>new.txt来判定了
new.txt中最后一行如果是0 个目录则肯定是文件,如果等于2个目录为空文件夹,大于2个目录则有内容。不知谁还有比较好的办法没?

[ 本帖最后由 netwinxp 于 2007-7-15 01:58 PM 编辑 ]
作者: namejm    时间: 2007-7-15 20:22
  演示代码如下:

  1. @echo off
  2. :main
  3. cls
  4. set input=
  5. set /p input=      请把文件拉到本窗口:
  6. set "input=%input:"=%"
  7. cls
  8. if exist "%input%" (
  9.     echo "%input%" 是文件夹
  10. ) else echo "%input%" 是文件
  11. pause
  12. goto main
复制代码

作者: hytmtet    时间: 2007-7-15 21:50
楼上的代码很ok
试过了~
作者: netwinxp    时间: 2007-7-15 22:04
原帖由 namejm 于 2007-7-15 20:22 发表
  演示代码如下:

@echo off
:main
cls
set input=
set /p input=      请把文件拉到本窗口:
set "input=%input:"=%"
cls
if exist "%input%\" (
    echo "%input%" 是文件夹
) else echo "%in ...

谢谢,谢谢,高手出手就是不一样:hug:




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3