中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已結]如何將當前運行的路徑儲存成變數[尋求完善簡易]
作者:
标题: [已結]如何將當前運行的路徑儲存成變數[尋求完善簡易] 上一主题 | 下一主题
XZ
初级用户





积分 144
发帖 65
注册 2008-3-20
来自 Taiwan
状态 离线
『楼 主』:  [已結]如何將當前運行的路徑儲存成變數[尋求完善簡易]

請問如何將當前運行的路徑儲存成變數
我目前的做法是這樣
請問是否又更好的方法呢?
這樣是連 UNC路徑都可以存起來
@echo off
SET xxxxx=%~dp0
set source=%xxxxx:~0,-1%
echo Source Paht is %Source%
pause
[ Last edited by XZ on 2008-7-29 at 11:00 PM ]

2008-7-29 00:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 2 楼』:  

你的已经算好方法了。
@echo off
set "a=%~0"
call,set "a=%%a:\%~nx0=%%"
echo %a%
pause


   此帖被 +1 点积分    点击查看详情   
评分人:【 XZ 分数: +1  时间:2008-7-29 12:56




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-7-29 02:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 3 楼』:  

echo %cd%



简单!简单!再简单!
2008-7-29 02:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
XZ
初级用户





积分 144
发帖 65
注册 2008-3-20
来自 Taiwan
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by terse at 2008-7-29 02:56 AM:
echo %cd%

^^"
這樣子在網路上的芳鄰會抓到 windows的目錄
UNC不能用路徑下不能用
'\\127.0.0.1\x'
是目前用來啟動 CMD.EXE 的目錄路徑。不支援 UNC 路徑
預設目錄是 Windows 目錄。

C:\WINDOWS>set source=C:\WINDOWS

C:\WINDOWS>echo C:\WINDOWS
C:\WINDOWS

C:\WINDOWS>pause
請按任意鍵繼續 . . .
[ Last edited by XZ on 2008-7-29 at 12:56 PM ]

2008-7-29 12:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by XZ at 2008-7-29 12:52:

^^"
這樣子在網路上的芳鄰會抓到 windows的目錄
UNC不能用路徑下不能用

[code]
'\\127.0.0.1\x'
是目前用來啟動 CMD.EXE 的目錄路徑。不支援 UNC 路徑 ...

没懂
%cd% 和上面的不一样吗



简单!简单!再简单!
2008-7-29 13:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
XZ
初级用户





积分 144
发帖 65
注册 2008-3-20
来自 Taiwan
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by terse at 2008-7-29 01:50 PM:

没懂
%cd% 和上面的不一样吗

不太一樣耶
假設 TEST.bat 位於 \\127.0.0.1\test
test.bat
內容如下
@echo on
set "a=%~0"
call,set "a=%%a:\%~nx0=%%"
echo %a%

echo %cd%
pause
結果:
pusofalse寫的顯示出的是 \\127.0.0.1\test
而 %cd% 回傳的是Windows目錄 ^^"
@echo off
'\\127.0.0.1\test'
是目前用來啟動 CMD.EXE 的目錄路徑。不支援 UNC 路徑。
預設目錄是 Windows 目錄。

C:\WINDOWS>set "a=\\127.0.0.1\test\test.bat"

C:\WINDOWS>call,set "a=%a:\test.bat=%"

C:\WINDOWS>echo \\127.0.0.1\test
\\127.0.0.1\test

C:\WINDOWS>echo C:\WINDOWS
C:\WINDOWS

C:\WINDOWS>pause
請按任意鍵繼續 . . .


2008-7-29 22:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: