如何使用基本的 Windows XP 將檔案清單傳輸給離線使用者?

如何使用基本的 Windows XP 將檔案清單傳輸給離線使用者?

我有很多文件(數百 GB),我想將其中一些給我的朋友。但他必須選擇他需要哪些文件,而我不能一次給他所有文件(我沒有這麼大的 USB 隨身碟或 USB 硬碟)。我可以列出所有文件,並將它們通過小型 USB 閃存傳輸給他,然後他可以說出他想要哪些文件夾,不需要哪些文件夾。

我應該如何製作文件列表,可以在標準 Windows XP 安裝中或使用一些類似 WindowsExplorer 的小程式輕鬆查看該列表?我可以做一個ls -lR類似的清單並將其儲存在txt中,但是我的朋友很難查看這個清單。 Total Commander有一個diskdir插件,可以將資料夾歸檔為文字文件,只儲存文件的名稱和路徑。然後這個插件允許總指揮官在這個檔案中移動,就像在 zip 或 arj 中一樣。但我認為,Total Commander 對我的朋友來說很難使用,所以我詢問類似 Windows 資源管理器的解決方案(例如 winzip 允許資源管理器在 zip 檔案中移動,我想要類似的東西)。

所以。我可以安裝任何程序,也可以將帶有文件列表的檢視器程式儲存在 USB 快閃記憶體上。

答案1

假設你可以獲得電源殼 v2安裝在本機上(或已經安裝)以下腳本可以執行您想要的操作(它可能在 powershell v1 中工作,不確定):

$dupedir = "D:\Backup"
$newdir = "C:\Temp"
$dupelist = Get-ChildItem -Force -Recurse -ErrorAction SilentlyContinue $dupedir

foreach ($item in $dupelist) 
{
    If ($item -is [Io.DirectoryInfo])
    {
        $itemtype = "directory"
    }
    If ($item -is [Io.FileInfo])
    {
        $itemtype = "file"
    }

    New-Item -Force -type $itemtype -Path $item.FullName.Replace("$dupedir","$newdir")
}

將路徑更改為$dupedir您想讓您的朋友知道的路徑的根。一旦這個腳本完成運行,你應該有一個文件結構的精確鏡像(但不是實際文件),你想讓你的朋友在 C:\Temp(或其他地方,如果你也更改了變數的目錄)查看$newdir。不要讓$newdir變數位於變數的目錄內$dupedir,否則您將獲得無限遞歸,最終可能會消耗所有磁碟空間(即使「檔案」是 0 位元組檔案)。

powershell 的好處是您可以在命令列「編寫」腳本(類似於 bash)。將程式碼複製到文字編輯器中,更改路徑,然後將整個內容複製並貼上到 powershell 視窗中,它就會發揮神奇作用。

我知道你提到你有 bash,如果你想在 unix/linux 機器上做到這一點,我也許可以在 bash 中做到這一點。不幸的是,當 bash 腳本需要在 Windows 檔案系統上亂搞時,我一直不太擅長。

答案2

只需使用dir /s > C:\temp\filename.txt命令即可。這會將目錄結構輸出到檔案 C:\temp\filename.txt。從您想要下降的位置開始。

然後把TXT檔傳給他就可以了。

答案3

為什麼不使用 zip 檔案?您可以在一個視窗中查看所有文件,並將它們解壓縮到不同的資料夾中。

答案4

我現在思考這個問題一段時間,並找到了兩個解決方案。最好的如下。

使用cdcat這是一個程序,可以索引 DVD 或硬碟等檔案系統樹(無需將大檔案儲存到索引)並將多個檔案儲存在一個目錄中。這可能是此類任務的首選程序,因為它還將音樂(ID3 標籤)和視訊(解析度、持續時間等)的元資訊包含到目錄中。另一個不錯的功能是 cdcat 可以計算索引目錄或檔案(節點)有多大。

它將所有元資訊(以及 nfo 之類的小文件,如果您將其配置為執行此操作)保存在壓縮的 XML 文件中。要將文件從您(A)複製到某人(B),在允許他(B)選擇他真正想要的內容後,可以像這樣工作:

  1. A 為其所有感興趣的檔案建立索引(在執行此操作之前,您應該檢查 cdcat 的設置,以確定將包含哪些內容,例如 nfo、ID3 標籤等)並將它們儲存為目錄。
  2. A 將目錄複製給 B。
  3. 現在 B 必須以某種方式選擇檔案。我提出了使用可以添加到每個節點(目錄或文件)的類別字段的想法。例如,該欄位可以用作優先權。任何沒有遞歸附加類別或具有特殊類別的節點稍後都不會被複製。該類別也保存到 XML 檔案中,為此編寫解析器來匯出(例如 .bat 腳本或 Bash 腳本)以複製所有所需檔案並不困難。
  4. B 將作業系統特定的複製腳本提供給 A(或當然 B 將修改後的目錄傳回並讓 A 產生複製腳本)。
  5. A 執行複製腳本並向 B 提供資料媒體。 (會有一點不便,因為 cdcat 不會保存資料索引到目錄的掛載點的路徑。)
  6. B 將檔案複製到自己的儲存中,並將資料媒體交還給 A。

這個解決方案還不完美,但它是我想出的最好的解決方案。我還沒有使用過這個,但我將來會這樣做。在此期間,我需要編寫一些擴充功能或腳本來為 Linux 和 Windows 產生複製腳本。我的計劃是將其直接包含到 cdcat 程式中。

值得指導的第二個更複雜的解決方案是使用git 附件這可能也可以用於此目的,但我沒有像考慮cdcat 的解決方案那樣仔細地考慮這一點,因為第二種方法會以某種方式要求兩個人(A 和B)都有git-annex 並知道如何使用它......

我會讓你了解最新情況。

相關內容