2010-06-03 93 views

回答

0

測試:demo.bat

@echo off 
echo "Setting cpp" 
set cpp="C:\temp\lib.dll" 

echo "Calling JustGetPath" 
call :JustGetPath %cpp% 

echo "Returning result" 
echo %_RESULT% 

echo "Quitting" 
goto :eof 

:JustGetPath 
echo " +JustGetPath(%1)" 
set _RESULT=%~dp1 

echo " -JustGetPath()" 
GOTO :eof 

:eof 

輸出以下運行時:

"Setting cpp" 
"Calling JustGetPath" 
" +JustGetPath(C:\temp\lib.dll)" 
" -JustGetPath()" 
"Returning result" 
C:\temp\ 
"Quitting" 

參見:http://ss64.com/nt/call.html

1

可以使用for命令,就像這樣:

set cpp="C:\temp\lib.dll" 

:: Print the full path and file name: 
echo %cpp% 

:: Print just the path: 
for %%P in (%cpp%) do echo %%~dpP 
+0

我試過這個沒有成功 - 無可否認,它是在Linux上的WINE,所以也許解釋器還沒有完全兼容微軟Windows ... – 2010-06-03 15:17:26

+0

@PP:嗯,這個工作在我的XP,Windows 7,Server 2003上和Server 2008盒子。 – 2010-06-03 16:29:23

+0

適用於win7,我喜歡這個,但是學習CALL的方式對我來說是一個啓示,所以我給它V – yoshco 2010-06-06 08:29:33

相關問題