批处理bat或者reg相对路径的代码及使用方法?

2025-02-25 01:45:56
推荐回答(1个)
回答1:

如果就提问标题解释(我估计你不是问的这个,但了解是有好处的),相对路径是与当前盘和当前路径有关的(就是说如果当前位置不对,就不能用相对路径来表达而必须用绝对路径或者说全路径),其中可能用到的 “.” 表示当前目录,“..” 表示上一级目录,举几个例:
cd abc 表示将当前路径改变到 当前目录下的abc子目录里
cd \abc 表示将当前路径改变到当前盘根目录下的abc目录里
cd d:abc 表示将d:里的当前(或称默认也许好懂一点)路径改为它当前目录下的abc子目录
cd/d d:abc 在上例的基础上,并且如果当前不在d:盘,将当前盘也转到d:盘(就是很到人说的进到那了,注意与cd/d d:\abc 意思不一样,但如果当前d:的当前路径就是在根目录,则二者效果一样)
cd ..\abc 改到上一级目录下的abc (实际是和当前目录是并列的一个目录)
好了就举这几例,另外注意如整个路径里可能含空格或某些特殊符&()[]{}^=;!'+,`~ 则需要把整个路径用引号括起来
再来说我估计你想问的问题,无论是批处理中还是注册表中在表示路径时,由于各机在装系统时可能会选择装在不一样的位置,另外系统还会命名一些与用户名有关的文件夹,为了能方便地表达这些本质上或者说用途上一样的路径,系统设置了一些环境变量来统一表述这类路径,你可以在命令行输入set命令就可以看到(当然这里面还有别的变量)比如我的机上windows装在c:盘就可以看到有一行 windir=C:\WINDOWS
那么就可以用 %windir% 表代替 C:\WINDOWS
如果另一机是把windows系统装在d:
那就会看到一行是 windir=D:\WINDOWS
同理 %windir% 代替的是 D:\WINDOWS
显然,这两机上具有不同的绝对路径名不利于一些软件装载时或是批处理代码在不同机上引用,但有了%windir% 就很方便了,其实注册表中的注册项,也都是在当初选择了一些装机选项后就赋给环境变量不同值,而之后装系统过程中很多选项也都据此进行注册的
这里只是举了一个例,其他的得自己去看,其实我也就了解这多。