2013-06-21 182 views
0

在linux下訪問當前目錄的變量是$ PWD。在Windows中如何訪問對應於$ PWD的變量?

這是有UNIX背景的用戶。因此尋找大約mklink信息,一個窗口鏈接工具,我發現mklink的語法是

mklink "c:\where\link\is\to\be\created\file.txt" "c:\where\file\actually\exists\file.txt" 

但我想

mklink $PWD "c:\where\file\actually\exists\file.txt" 

來代替它。但是使用$ PWD拋出錯誤。我來自linux世界,其中$PWD指的是當前的工作目錄。

什麼是正確的語法,以便每當執行腳本的鏈接在$PWD產生的?

編輯:我發現,答案是%CD%

+0

OK,我發現自己的答案,它似乎工作: – Jagte

+1

它是否僅僅是用%CD%?一定要張貼您的解決方案,並將其標記爲對後代是正確的。 – Gray

+0

是使用「%CD%爲$一個substiture PWD工作 – Jagte

回答

0

OK我自己找到了答案,它似乎工作:mklink「%cd%\ file.txt」「c:\ where \ file \ actually \ exists \ file.txt的」

0

mklink是CMD.EXE的子命令。它必須在CMD.EXE的「內部」運行。從PowerShell的你可以說:

cmd /c mklink # without args mklink gives you help 

在線幫助是在這裏:http://technet.microsoft.com/en-us/library/cc753194(v=ws.10).aspx。您可以選擇文件軟鏈接,目錄軟鏈接,硬鏈接和目錄連接。

有時可能會非常棘手,因爲調用的需要轉義字符從PowerShell中CMD命令。在PSv3這種情況與魔法改善 - %請參閱本博客的詳細信息:http://blogs.msdn.com/b/powershell/archive/2012/06/14/new-v3-language-features.aspx。搜索「更容易地從Cmd.exe重用命令行」

+0

我在不使用cmd的情況下創建了常規文本file.bat,並在命令提示符下執行它。沒有使用PowerShell。也沒有使用cmd/c。 – Jagte

+0

我認爲這篇文章標有「Powershell」。我以爲你使用的是PowerShell。也許這將幫助別人誰不想要調用從PS CMD子,這可能會非常棘手。當我發現脫字符(^)是CMD的轉義字符時,我感到很驚訝。 –