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
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
Originally posted by XZ at 2008-7-29 12:52:

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


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

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

作者: XZ     时间: 2008-7-29 22:54
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
請按任意鍵繼續 . . .