无忧启动论坛

标题: [求助]如何获取当前路径到一环境变量中? [打印本页]

作者: zdy172    时间: 2005-7-10 17:51
标题: [求助]如何获取当前路径到一环境变量中?
例如在c:\>下输入“cd>1.txt”可将1.txt的内容置为“c:\”
为什么不能用“cd>%root%”将%root%置为“c:\”呢?
若想将%root%置为当前路径该怎么做呢?
请大家帮帮忙。
作者: xusen    时间: 2005-7-10 17:58
标题: [求助]如何获取当前路径到一环境变量中?
[这个贴子最后由xusen在 2005/07/10 05:59pm 第 1 次编辑]

这个是有点难度啊,我也曾遇到过,但我是绕了很大一圈才赋值给变量
我也想知道简便的方法。
作者: Brglng    时间: 2005-7-11 08:48
标题: [求助]如何获取当前路径到一环境变量中?
可以用一些增强工具,如xset、strings等,应该可以完成。
作者: xusen    时间: 2005-7-11 12:26
标题: [求助]如何获取当前路径到一环境变量中?
STRINGS.COM  9KB
XSET.EXE    59KB
个头都挺大哦,比编写个批处理还来的大
作者: zdy172    时间: 2005-7-11 19:45
标题: [求助]如何获取当前路径到一环境变量中?
下面引用由xusen2005/07/11 12:26pm 发表的内容:
STRINGS.COM  9KB
XSET.EXE    59KB
个头都挺大哦,比编写个批处理还来的大
具体怎么用?
能不能说的详细点?
多谢!
作者: Climbing    时间: 2005-7-12 18:23
标题: [求助]如何获取当前路径到一环境变量中?
用strings可能比较困难,xset没有用过。
比较简单的是用Horst的lmod,如下:
cd | lmod /L1 set curdir=[] > temp.bat
call temp.bat
del temp.bat
执行完成后,%curdir%就表示当前目录。
另外,如果在NT环境下,可以用这个命令:
for /f "tokens=*" %i in (';cd';) do @set curdir=%i
另外,在DOS下合理使用debug也应该没有问题。
作者: Brglng    时间: 2005-7-13 08:06
标题: [求助]如何获取当前路径到一环境变量中?
下载个“蓝云启动盘”看看,昨天我刚刚发现。它的作者lydong编写了一个get.bat,可以把当前时间、日期、所在目录、所在盘符等都存为环境变量。
作者: Climbing    时间: 2005-7-13 09:07
标题: [求助]如何获取当前路径到一环境变量中?
那你不如把get.bat的内容贴到这里来,让大家学习一下。
作者: xusen    时间: 2005-7-13 09:41
标题: [求助]如何获取当前路径到一环境变量中?
对啊,让我们看看学学,他是用了什么外部命令
作者: Brglng    时间: 2005-7-13 10:15
标题: [求助]如何获取当前路径到一环境变量中?
好吧,这就是get.bat的内容。我未作任何修改。
::getvar.bat
@if [%2]==[] goto help
@if [%1]==[/?] goto help
@if [%1]==[/h] goto help
@if [%1]==[invoke] prompt set %2=%3$_
@if [%1]==[invoke] goto end
@if [%temp%]==[] set temp=c:
@%comspec% /c %0 invoke %1 $%2>%TEMP%\tt.bat
@echo off
call %TEMP%\tt.bat
if "%3"=="" DEL %TEMP%\tt.bat
set CMDLINE=
goto end
:help
@echo off
echo.
echo    GET.BAT V1.0  Lydong 030625
echo    ===============================
echo    get curver [Command]
echo    get [/?] or [/h]
echo.
echo    eg: get time t
echo        get dosver v
echo.
echo    Command:
echo          T   Current time
echo          D   Current date
echo          P   Current drive and path
echo          V   Windows version number
echo          N   Current drive
echo    ===============================
echo.
:end

作者: Climbing    时间: 2005-7-13 10:29
标题: [求助]如何获取当前路径到一环境变量中?
不错,确实有些技巧!使用了prompt这个命令,很巧妙!
作者: xusen    时间: 2005-7-13 10:52
标题: [求助]如何获取当前路径到一环境变量中?
经典的批处理,只用到内部命令,相当不错。
作者: Climbing    时间: 2005-7-13 14:59
标题: [求助]如何获取当前路径到一环境变量中?
基本上,我认为,能够看懂这个批处理的人就属于DOS高手了。
作者: magictek    时间: 2005-7-13 18:39
标题: [求助]如何获取当前路径到一环境变量中?
嗯嗯,你是在说你是高手么?哈哈,不过你的确是
作者: Climbing    时间: 2005-7-14 09:35
标题: [求助]如何获取当前路径到一环境变量中?
我当然算是某种程度上的高手。但并不意味着除了我以外就没有别的高手了,或者说,还有很多比我更高的高手。
作者: zdy172    时间: 2005-7-14 18:31
标题: [求助]如何获取当前路径到一环境变量中?
回去研究一下,
应该可以解决问题。
多谢各位大力相助,
受益匪浅!

作者: willsort    时间: 2005-7-16 13:18
标题: [求助]如何获取当前路径到一环境变量中?
Re All:
    也可以参考下面的链接中7楼的程序:
    http://www.cn-dos.net/forum/viewthread.php?tid=8905
    当然他们的核心算法是一样的,所以也存在NT系列环境下无法正确运行的问题,今天抽空重写了一下,聊作谈资吧:
  1. :: GetVar.bat - Get from ';PROMPT'; text to environment variable
  2. :: Will Sort - 10:29 2005-7-16 - CMD@XP/COMMAND@Win98/MSDOS6.22
  3. @echo off
  4. echo exit | %comspec% /k prompt set %1=%2$_:: > _GetVar.bat
  5. call _GetVar.bat
  6. for %%f in (_GetVar*.*) do del %%f
复制代码





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