Board logo

标题: [已結]如何將當前運行的路徑儲存成變數[尋求完善簡易] [打印本页]

作者: XZ     时间: 2008-7-29 00:56    标题: [已結]如何將當前運行的路徑儲存成變數[尋求完善簡易]

請問如何將當前運行的路徑儲存成變數
我目前的做法是這樣
請問是否又更好的方法呢?
這樣是連 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 ]
作者: pusofalse     时间: 2008-7-29 02:21
你的已经算好方法了。
@echo off
set "a=%~0"
call,set "a=%%a:\%~nx0=%%"
echo %a%
pause

作者: terse     时间: 2008-7-29 02:56
echo %cd%
作者: XZ     时间: 2008-7-29 12:52


  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 ]
作者: terse     时间: 2008-7-29 13:50


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

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

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

没懂
%cd% 和上面的不一样吗
作者: XZ     时间: 2008-7-29 22:54


  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
請按任意鍵繼續 . . .