天天
Lv 4
天天 發問時間: 電腦與網際網路軟體 · 1 0 年前

Windows XP 資料夾和檔案間的連結問題

在 Windows (XP) 作業系統下

假設有一個資料夾 Document,底下有三個子資料夾 Fd1、Fd2、Fd3

而這三個資料夾點進去,底下都會看到一個名為 project.txt 的檔案

(也就是 Document\Fd1\、Document\Fd2\、Document\Fd3\)

然而每個資料夾的 project.txt 的內容都是一模一樣的

一般想要做到這樣

就是將 project.txt 複製三份,並分別放到每個資料夾底下

可是這樣做會有幾個問題…

首先,儘管明明是相同的檔案,也必須複製成三份,很浪費空間

而且,當有更新檔案時(例如改檔名或者編輯檔案內容)

如果只對其中一個做,那這 3 份複製又會變得不一致

我想問的問題是:

有沒有辦法讓 Document 這個目錄 (這棵 tree) 底下就只有一份 project.txt

不過當我們點進 Fd1、Fd2、Fd3 這三個資料夾時,都可以看到 project.txt 呢?

麻煩各位 Windows XP 高手不吝賜教,謝謝!

PS:這個 project.txt 實際上存放在 Document 底下的哪裡並不要緊

重要的是,點不同的 Fd(x) 資料夾進去都能夠看到它

而且一旦對這個檔案做了更新,點每個資料夾都很一致地能看到更新後的檔案。

已更新項目:

PACHIKO大師您回答的這個方法我也知道,也曾經考慮過

事實上這是相當基本的知識(一般使用者差不多都知道吧)

可是這樣對我來說還是不夠的!

因為「有很多份 copy」的事實還是存在,只不過現在變成「捷徑」這個檔案而已

而且,假設原始檔案的檔名做了更改,但捷徑的名稱並不會跟著改變不是嗎?

這樣我仍舊要一個一個更改每個捷徑的名稱,或者乾脆重新做一次捷徑…

我所希望的解決方式就如同問題中所描述那樣…

(但那種方法到底 Windows XP 有無可能做到?這就要請教達人了)

至少,靠「捷徑」對我來說並不是一個滿意的解法…

2 個已更新項目:

如 PACHIKO 大師所言,在下的確不是「很淺」的 PC 和 Windows 使用者

只是我擔心用比較專業的方式提問,會讓人不敢或者不知道如何回答

所以才用一個比較 general 而且淺顯易懂的例子來說明

如果 Windows XP 底下真的存在有題目所求的解決方式的話

我實際要應用的不是只有一個檔案對到三個資料夾的這種小 case

而會是 "數十個資料夾" 到 "上百個檔案" 之間的 "多對多連結"

因此期盼對此有心得的高手提出寶貴意見

就算是作法或步驟會比較複雜也沒關係

點數部分如果嫌不夠我也可以再多開問題,致贈給能幫忙解決問題者。

3 個已更新項目:

「是我」大大,感謝您的回答!

關於 fsutil 這個工具我是第一次聽到

自己稍微測試之後,也對它的功能感到很有意思

不過用「絕對路徑」的話限制太大

若是將 Document 資料夾搬家,連結就整個失效了…

我想知道這種 link 可否使用「相對路徑」?

(像從 Fd2 先往回退一層,再進入 Fd1 的資料夾)

4 個已更新項目:

是我さま,我根據您補充的內容做過了一些測試

您修改後的 3&4 可以達到我所希望的相對路徑功能

事實上,這並非「類似」,而是「正是」我在補充說明中所期望的!

關於包含有 hardlink 的 Document 資料夾,我發現到:

如果將它搬家到其他目錄,相對路徑的 link 效果仍舊會存在

但是若用複製的話,複製的那個 Document 就會失去連結效果

此外,Document 自己就算改了名稱,裡面 Fdx 之間的連結仍舊有效

6 個解答

評分
  • 是我
    Lv 5
    1 0 年前
    最佳解答

    您可使用 Windows XP 以上 Hardlink 的功能 (其實 Windows 2000 也有), 也就是不同路徑/檔名指到相同的檔案。

    您可使用 fsutil 這個工具程式做出 Hardlink, 不過若您的 XP「來源不明」的話, 在下不知是否含有此工具程式。以您的狀況為例, 假設您 Document 資料夾之全路徑為 C:\Document (請自行修改為實際之全路徑名), 而 C:\Document\Fd1\project.txt 是您初始編輯的資料文件檔, 欲將 C:\Document\Fd2\project.txt、C:\Document\Fd3\project.txt 指到 C:\Document\Fd1\project.txt :

    1. 進入命令提示字元 (《視窗鍵》+ R, 鍵入 cmd 後按下 確定)

    2. cd /d C:\Document\Fd1

    3. fsutil hardlink create C:\Document\Fd2\project.txt C:\Document\Fd1\project.txt

    4. fsutil hardlink create C:\Document\Fd3\project.txt C:\Document\Fd1\project.txt

    如此, 無論您修改哪一份 project.txt 皆等於同時修改其他兩份, 即三份 project.txt 其實是同一份, 也不分哪一份是原始檔, 即使刪除 C:\Document\Fd1\project.txt, C:\Document\Fd2\project.txt 與 C:\Document\Fd3\project.txt 仍然存在。

    但這種 Hardlink 有一個限制, 做出的連結檔必須與原來的檔案位於相同的磁碟分割上。

    有些文字編輯器會破壞這種連結關係, 如知名的 UltraEdxx、常用的 Word 就是。您可用 Wordpad、Notepad 編輯檔案試試這種連結效果。

    2009-04-22 09:21:18 補充:

    補充一點 : 欲使用 fsutil, 您必須有 administrator 的權限, 或是您的使用者帳號屬於 administrator 群組。

    2009-04-27 12:33:58 補充:

    對不起, 先修改之前說的 3 & 4, 已進入 Fd1 的資料夾中了, 就不需 Key 那麼長的全路徑 (當然, 原來的 3 & 4 也沒有錯)

    3. fsutil hardlink create ..\Fd2\project.txt project.txt

    4. fsutil hardlink create ..\Fd3\project.txt project.txt

    這就《類似》您所說的『從 Fd2 先往回退一層,再進入 Fd1 的資料夾』─ 是『從 Fd1 先往回退一層,再進入 Fd2 的資料夾』, 即使將 Document 資料夾搬家,連結仍有效 ─ 只要搬家後的位置仍位於相同的磁碟上。

    2009-04-27 12:34:07 補充:

    與您所要求不同在於 : 雖然建立連結以 ..\Fd2\project.txt 的方式處理, 但 Windows 仍以絕對路徑記錄連結檔案位置。在下若沒有意會錯誤, 您要的是在 工作目錄 Fd2 下開啟 .\project.txt, 等同開啟 ..\Fd1\project.txt ─ 以「相對路徑」處理, 不管 FdX 位於啥目錄下。

    考慮一個情形 :

    若工作目錄在 C:\Document\Fd2 下, 開啟 .\project.txt, 您要系統開啟相對路徑 ..\Fd1 下的 project.txt, 對於系統來說, 應不是什麼困難的任務。

    而在 C: 磁碟若另外也有另一無連接關係的檔案群 :

    2009-04-27 12:34:30 補充:

    C:\Papers\Fd1\project.txt

    C:\Papers\Fd2\project.txt

    C:\Papers\Fd3\project.txt

    若工作目錄在 C:\Papers\Fd2 (或 C:\Papers\Fd3) 下, 開啟 .\project.txt, 那系統到底要不要幫我們開啟相對路徑 ..\Fd1 下的 project.txt ? 您應知道在下意思了, 若答案是『只有在 C:\Document\FdX 的 project.txt 才開啟連結檔』, 這又與絕對路徑扯上關係了。

    2009-04-27 12:34:34 補充:

    那其他做法呢 ? 《也許》有, 但 Windows (甚至 UNIX, LINUX) 的 Hardlink 做不到您所要的「相對路徑」的需求。若您是一個 Programmer, 又熟稔 API Hooking 的話, 或許可以自定一個 link table 完成您的需求; 但若您的檔名非系統唯一, 可能還是跟絕對路徑脫離不了關係。

  • 匿名使用者
    6 年前

    到下面的網址看看吧

    ▶▶http://qoozoo09260.pixnet.net/blog

  • 匿名使用者
    7 年前

    我每次都是去這里看的哦, http://lvmiss.com/

    啄僄卡儂乥勥佉

  • 匿名使用者
    7 年前

    要買高仿的還是要去 http://aaashops.com/ 品質不錯,老婆很喜歡。

    劣加呢呤則咻咽

  • 您覺得這個回答如何?您可以登入為回答投票。
  • 匿名使用者
    7 年前

    http://lv333.com/ 這家不錯超3A品質,買幾次啦,跟真的一樣。

    乭冯哆割

  • 1 0 年前

    從你的提問並不會知道你對電腦了解的等級是到那哪裡!?

    因為真的很多人不知道”捷徑”是什麼?我現在知道你是對電腦的操作有相當了解的人囉!

    我也很想知道如何對3個不同的實體檔案作同步!

    我把它移到意見欄囉!

    ===================

    你好,假設你的project.txt 檔案是放在C:\底下,然後可點右鍵〔傳送到-桌面當作捷徑〕,接著將桌面project.txt的捷徑分別複製到\FD1及\FD2及FD3即可.

    當點選\FD1~3底下的project.txt捷徑,其實是連結到C:\project.txt檔案.

    以上供你參考~

還有問題?馬上發問,尋求解答。