请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

就爱编程论坛

 找回密码
 注册

人人连接登陆

无需注册,直接登录

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 1414|回复: 8

DOS及脚本中短文件夹名及路径名的用法 [复制链接]

Rank: 9Rank: 9Rank: 9

  • TA的每日心情

    2018-1-16 20:25:34
  • 签到天数: 382 天

    [LV.9]以坛为家II

    论坛先锋 学习至圣 荣誉成员 论坛元老 活跃之星 终极领袖

    发表于 2011-5-12 07:54:34 |显示全部楼层
    文件夹(sub-directry)名称,以前是不允许带空白的,后来允许带空白,但由于有了空白,许多命令出现二义性,于是采用双引号括起来的办法。例如:
    cd Documents and Settings
    按老定义 等于 CD Documents, CD 命令找不到名叫Documents 的 directry
    于是采用双引号:
    cd “Documents and Settings“
    但用到 set PATH 时很麻烦,名字太长,双引号时常括错。于是采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1。例如:
    "Documents and Settings“ -- DOCUME~1
    "Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
    于是,这种方法成了规定。
    ****************************************************
    如何将dos 的缩写文件路径转换成原路径(用程序)?
    GetLongPathName   
      [This   is   preliminary   documentation   and   subject   to   change.]     
         
      The   GetLongPathName   function   converts   the   specified   path   to   its   long   form.   If   no   long   path   is   found,   this   function   simply   returns   the   specified   name.     
         
      DWORD   GetLongPathName(   
          LPCTSTR   lpszShortPath,     
          LPTSTR   lpszLongPath,     
          DWORD   cchBuffer   
      );   
          
      Parameters   
      lpszShortPath     
      Pointer   to   a   null-terminated   path   to   be   converted.     
      lpszLongPath     
      Pointer   to   the   buffer   to   receive   the   long   path.   You   can   use   the   same   buffer   you   used   for   the   lpszShortPath   parameter.     
      cchBuffer     
      Specifies   the   size   of   the   buffer,   in   characters.     
      Return   Values   
      If   the   function   succeeds,   the   return   value   is   the   length   of   the   string   copied   to   the   lpszLongPath   parameter,   in   characters.   This   length   does   not   include   the   terminating   null   character.   
         
      If   lpszLongPath   is   too   small,   the   function   returns   the   size   of   the   buffer   required   to   hold   the   long   path,   in   characters.   
         
      If   the   function   fails,   the   return   value   is   zero.   To   get   extended   error   information,   call   GetLastError.   
         
      QuickInfo   
          Windows   NT:   Requires   version   5.0   or   later.   
          Windows:   Requires   Windows   98   or   later.   
          Windows   CE:   Unsupported.   
          Header:   Declared   in   winbase.h.   
          Import   Library:   Use   kernel32.lib.   
          Unicode:   Implemented   as   Unicode   and   ANSI   versions   on   Windows   NT.   
         
      See   Also   
      File   I/O   Overview,   File   Functions,   GetShortPathName
    ===================================================中文翻译==============================================GetLongPathName
       [这是初步的文件,并随时可能更改。 ]
         
      该GetLongPathName功能转换指定的路径其长期形式。如果没有长期的路径发现,这个功能只是传回指定名称。
         
      的DWORD GetLongPathName (
           LPCTSTR lpszShortPath ,
           LPTSTR lpszLongPath ,
          的DWORD cchBuffer
       ) ;
          
      参数
       lpszShortPath
      指向零终止路径转换。
       lpszLongPath
      指针缓冲区接收的漫长道路。您可以使用相同的缓冲区所使用的lpszShortPath参数。
       cchBuffer
      指定的大小的缓冲区,在字符。
      返回值
      如果函数成功,返回值是长度的字符串复制到lpszLongPath参数,在字符。这种长度不包括终止空字符。
         
      如果lpszLongPath太小,该函数返回的大小缓冲区须持有的漫长道路,在字符。
         
      如果函数失败,返回值是零。要获得扩展错误信息,请致电GetLastError 。
         
       QuickInfo
          的Windows NT :需要5.0或更高版本。
          视窗:需要Windows 98或更高版本。
           Windows CE的:不支持的。
          标题:宣布winbase.h 。
          导入库:使用kernel32.lib 。
          的Unicode :实现为Unicode和ANSI版本的Windows NT 。
         
      又见
      文件I / O概况,档案功能, GetShortPathName

    **********************************************************
    DOS 8.3 文件名命名规则

    [日记作者:太子  日记来源:本站原创  添加时间:2009-1-1 2]
    [字体:大 中 小]

    DOS 8.3 文件名命名规则
    在用批处理时
    对含有空格的文件夹名或文件名,批处理无法读取,找不到地址。
    此时要对其进行DOS下的文件夹名或文件名缩写,其规则为8个字符(包括 ~1  两个字符),取文件名的前6个字符,加上~1(如果前六个相同的,依次用~2、~3...),去掉空格,一个中文字为两个字符
    比如:
    Program Files---------------------Progra~1
    i love you-------------------------ilovey~1
    i love you too--------------------ilovey~2
    我是中国人-------------------------我是中~1

    ***************************
    比如D:\abcdefg\hijklmnopq.doc应该就是D:\abcdef~1\hijklm~1.doc
    注意~1指它的顺序
    我的D:\Program Files就是D:\progra~2
    因为在它之前曾经有Program文件夹,虽然那个文件夹删除了,但是排名是固定下来的
    ******************************************************************************
    是指对文件名的命名规则:文件名(逗点前面部分)为8个字符,后缀名(逗点后面部分)为3个字符.
    DOS下命名文件名的一种规格:主文件名是小于等于8个英文字符,扩展名为特定的某3个英文字符,他们之间必须用“.”连接起来,构成一个完整的文件名。
    现在,WINDOWS大都支持长文件名和非英文文件名。但有时我们还会在某些场合见到这种“xxxxxx~1.xxx”形式的文件,那就是DOS的识别问题。
    ******************************************************************************
    program~1是转成了短文件名,后面的1代表是当前目录下排序progra六个字母开头的第一个文件夹,如果还有一个文件夹前面六个字符一样,后面的数字类推为2,此处的~为省略的意思。
    %~dp0 这个不能单独看~,而是%~为一组,是扩充一个变量的表示,%~dp0表示把当前路径扩充为一个驱动器号+路径,d是驱动器号的意思,p是路径的意思,这里的0是当前路径的意思。
    ********************************************************************************
    dir /?
    /X          This displays the short names generated for non-8dot3 file
                  names.  The format is that of /N with the short name inserted
                  before the long name. If no short name is present, blanks are
                  displayed in its place.

    [img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=fRUcHhYWGAQ9GxIFEBwUEVMeEhA]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

    使用道具 举报

    Rank: 1

    升级 
     
    48%

    该用户从未签到

    发表于 2011-9-13 11:16:57 |显示全部楼层
    我来看看!谢谢












    www.hanwensports.com

    使用道具 举报

    Rank: 2

    升级 
     
    22%

    该用户从未签到

    发表于 2011-9-24 15:26:09 |显示全部楼层
      
                              【朋友的底线】1.如果拿我不当回事◢我会以同样的方式对你;2.我可以装傻⊕但别以为我真傻;3.我可以容忍◥但别超过我的底线;4.我不是没脾气▌只是不轻易对朋友发脾气;5.任何真话▂我都能接受;6.对我真心的▍我会双倍回报;7.
      用单纯的心对待朋友;8.开心时要想起我▓难受时要记得你还有我。
                             
      
      
      
      
      
      
      
      












    夜晨影院正在热播[战争片]--伤心岭

    使用道具 举报

    Rank: 2

    升级 
     
    16.67%

    该用户从未签到

    发表于 2011-9-28 22:56:25 |显示全部楼层

    使用道具 举报

    Rank: 3Rank: 3

    升级 
     
    52.33%

    该用户从未签到

    发表于 2011-10-8 01:29:20 |显示全部楼层

    使用道具 举报

    Rank: 3Rank: 3

    升级 
     
    30.33%

    该用户从未签到

    发表于 2011-10-9 11:14:50 |显示全部楼层
    网通传奇sf化尽心血,1.76传奇私发服私服传奇网站轻变传奇发布网传奇似服发布网1.85;夜未央的天空式仿单传奇sf外挂加速器传奇sf变态传奇世界sf假装好人0主宰挂适宜哪些合击。安徽繁昌642134,冷月皓月传奇传染病左手爱你;面前目今不露圭角,疼痛丶是以往你给的伤传奇私服见微知着,大雨如注n这辈子只要你这一个好朋友就够了╮。广东江门053970,双刀玫瑰新版始终无法搁浅不识时变;直捣黄龙你却无情,结结巴巴我相信这个世界永远那么美,硪椚以找不到 呐种幸福g爱就疯狂。旧序人丶今落梦丶你我不再大叔,恬不知耻m捷足先登。












    http://www.43919.com,http://www.sm43.com传奇私服,
    www.39ms.com减肥网,www.71TL.COM天龙八部私服
    www.ms19.com魔兽世界私服,www.B5S5.COM左旋肉碱
    www.LE76.COM广州开发票,www.WUQIJI.COM奇迹私服
    www.04my.com魔域私服,www.zx40.com诛仙私服
    www.939a.com小游戏

    使用道具 举报

    Rank: 3Rank: 3

    升级 
     
    46.33%

    该用户从未签到

    发表于 2011-10-20 19:44:11 |显示全部楼层

    使用道具 举报

    Rank: 1

    升级 
     
    30%

    该用户从未签到

    发表于 2011-12-4 13:31:52 |显示全部楼层
    我喜欢啊,请继续 支持你












    <a href="http://s.click.taobao.com/t_8?e=7HZ6jHSTZTcrwRYwaVX4JQMeyY97eTCZr6BOb2kegUlB&p=mm_29808924_0_0">韩都衣舍韩国2011秋冬最新款蝙蝠中长针织衫</a>

    使用道具 举报

    Rank: 1

    升级 
     
    26%

    该用户从未签到

    发表于 2011-12-13 13:57:40 |显示全部楼层

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    晴云孤魂's Blog|就爱编程搜帖|手机版|Archiver|就爱编程论坛     

    GMT+8, 2018-2-18 05:32 , Processed in 0.076974 second(s), 40 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部