相对路径和绝对路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相对路径和绝对路径相关的知识,希望对你有一定的参考价值。
我需要用U盘在不同的电脑上运行一个程序,而这个程序要调用U盘的另一个程序,在不同的电脑上有的识别为E盘,这时要指定路径为E:,而有的电脑上识别为H盘,这是就要手动修改路径为H:,非常的不方便,请高手写一个相对路径或绝对路径,帮我解决这个问题,别管识别为什么盘符,到时候,该程序就能在U盘(当前盘)里面来运行相关的程序,谢谢
这个方法,我想过了,但是不大好用,我的有98.2K和XP
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe
另外,还有一种不包含盘符的特殊绝对路径,形如
\windows\system32\cmd.exe
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。 参考技术A autorun.inf可以帮你解决这个问题
autorun.inf是什么呢?
autorun.inf是一个自动播放文件!大家可用记事本方式打开他,里面的内容很简单的,一看就明白,
这是它的相关内容:
autorun.inf文件是从Windows95开始的,最初用在其安装盘里,实现自动安装,以后的各版本都保留了该文件并且部分内容也可用于其他存储设备。
其结构有三个部分:〔AutoRun〕 〔AutoRun.Alpha〕 〔DeviceInstall〕
〔AutoRun〕适用于Windows95以上系统与32位以上CD-ROM,必选。
〔AutoRun.alpha〕适用于基于RISC的计算机光驱,适用系统为Windows NT 4.0,可选。
〔DeviceInstall〕适用于Windows XP以上系统,可选。
〔AutoRun〕部分的命令及其详解
1、DefaultIcon
含义:指定应用程序的默认图标。
格式:
DefalutIcon=图标路径名〔,序号〕
参数:
图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。
序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。
备注:
应用程序的默认图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。
图标路径名的默认目录是设备根目录。
2、Icon
含义:指定设备显示图标。
格式:
Icon=图标路径名〔,序号〕
参数:
图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。
序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。
备注:
设备显示图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。
图标路径名的默认目录是设备根目录。
当存在应用程序默认图标(DefaultIcon)时,本命令无效。
3、Label
含义:指定设备描述
格式:
Label=描述
参数:
描述:任意文字,可以包括空格。
备注:
设备描述将在windows explorer核心的驱动显示窗口中替代设备的默认描述卷标来显示。
在非windows explorer核心的驱动显示窗口中(例如右击设备选择属性)显示的仍然是设备的卷标。
4、Open
含义:指定设备启用时运行之命令行。
格式:
Open=命令行
(命令行:程序路径名 〔参数〕)
参数:
命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开或使用ShellExecute命令。
备注:
命令行的起始目录是设备根目录和系统的$Path环境变量。
5、ShellExecute
含义:
指定设备启用时执行文件。(操作系统支持未知)
格式:
ShellExecute=执行文件路径名 〔参数〕
参数:
执行文件路径名:设备启用时执行文件路径名。可以是任意格式文件。系统会调用设置的程序执行此文件。
参数:参数,根据执行文件作调整
备注:
命令行的起始目录是设备根目录和系统的$Path环境变量。
6、Shell关键字Command
含义:
定义设备右键菜单执行命令行。
格式:
Shell关键字Command=命令行
(命令行:程序路径名 〔参数〕)
参数:
命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开。
备注:
命令行的起始目录是设备根目录和系统的$Path环境变量。
7、Shell关键字
含义:定义设备右键菜单文本。
格式:
Shell关键字=文本
参数:
关键字:用以标记菜单,可以使用任何字符表示,包括空格。
文本:在右键菜单中显示的文本。可以使用任何字符,不能存在空格。
备注:
在同一Autorun.inf文件中,不同右键菜单关键字不同,相同右键菜单关键字相同。
右键菜单文本中可以使用&设定加速键,&&输出一个&。
Shell关键字Command命令Shell关键字两者缺一不可,顺序无所谓。
当不存在Open、ShellExecute与Shell命令时,设备启用时运行第一个设备右键菜单指定命令。
8、Shell
含义:定义设备启用时运行之设备右键命令。
格式:
Shell=关键字
参数:
关键字:标记过的菜单关键字
备注:
Shell指定的关键字可以在AutoRun.inf文件的任意部分。
OpenShellExecuteShell命令后定义的优先级高。
〔AutoRun.alpha〕部分的命令简介
〔AutoRun.alpha〕部分的命令与〔AutoRun〕部分的命令相同,只不过在基于RISC的计算机光驱中,〔AutoRun.alpha〕优先级高于〔AutoRun〕
〔DeviceInstall〕部分命令及其详解
DriverPath
含义:定义搜索驱动程序目录。
格式:
DriverPath=驱动程序路径
参数:
驱动程序路径:驱动程序所在路径,包括其子路径。
备注:
Windows XP以上支持。
仅CD-ROM支持
当系统监测到一个新的设备时,会提示用户寻找设备的驱动程序。当用户点选此CD-ROM时,当〔DeviceInstall〕部分存在时,系统会按照DriverPath所标记的路径出寻找驱动程序。未标记的路径系统将忽略查找。当〔DeviceInstall〕部分不存在时,系统将进行完全查找。
如果不希望系统在此CD-ROM中搜索驱动程序,只加一行〔DeviceInstall〕不加DriverPath命令即可。
系统识别该文件过程如下:
系统在插入U盘的时候会根据这个AUTORUN.INF文件在注册表〔HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2〕下建立一个u盘的关联项,使双击打开指定的程序(如病毒程序)。 参考技术B 绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe
另外,还有一种不包含盘符的特殊绝对路径,形如
\windows\system32\cmd.exe
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。 参考技术C 首先,以在网页制作为例,这样最容易弄明白。
假设你要在你的网页中插入一幅图片,那么你可能会碰到以下情况(假设你的网页在如下位置:d:\aaa\web\1.htm,而图片在d:\aaa\web\images\ss.gif)
那么情况如下:
一,你在网页中直接以d:\aaa\web\images\ss.gif这个路径表示你的图片。
二,你在网页中以:images\ss.gif来表示你的这个图片。
以上两种方法都能达到效果。为什么呢?这就是绝对路径和相对路径的问题。
第一种情况,你使用的是完整的图片的路径,就称之为绝对路径,也就是说当你把你的这个1.htm不管放在你的硬盘的哪个位置,它都能显示出来这幅图片,因为这个图片的位置你没改变它。是绝对不变的。。
第二情况,你使用的就是相对路径,这个路径只相对于你的1.htm的位置以及images文件夹的位置。一旦1.htm的位置发生改变,或者images文件夹的位置发生改变(只要1.htm和images发生改变的位置不相同),那么,这时候你的1.htm就显示不了这幅图片了。也就是说,1.htm和images其中一方的位置发生改变,网页就显示不了这幅图片了。这就是相对路径,它是以一个参考对象面存在的。。 参考技术D 假如你u盘上有个程序叫做aa.exe,位置在u盘的programs\aa\下。
你在u盘的根目录需要建立运行程序的bat文件,start.bat.
start.bat 内容如下
#echo off
\programes\aa\aa.exe
这样就可以了。
不用标示盘符的。
在asp.net中,加载图片的相对路径和绝对路径分别用啥
给你发个ASP.Net 里面这2种路径相互转换的函数你看一下;//本地路径转换成URL相对路径
private string urlconvertor(string imagesurl1)
string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
string imagesurl2 = imagesurl1.Replace(tmpRootDir, ""); //转换成相对路径
imagesurl2 = imagesurl2.Replace(@"\", @"/");
//imagesurl2 = imagesurl2.Replace(@"Aspx_Uc/", @"");
return imagesurl2;
//相对路径转换成服务器本地物理路径
private string urlconvertorlocal(string imagesurl1)
string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
string imagesurl2 = tmpRootDir + imagesurl1.Replace(@"/", @"\"); //转换成绝对路径
return imagesurl2; 参考技术A 绝对路径使用你文件所在盘上的地址栏的路径
图片的相对路径选择使用该项目中对应文件夹属性中自动生成的URL,在解决方案中点击你图片所在位置的文件夹(图片资源最好放在项目中自建文件夹内),右下角属性中有,黏贴复制即可
以上是关于相对路径和绝对路径的主要内容,如果未能解决你的问题,请参考以下文章