如標題中所提到的,我需要將各個目錄中的各種圖像檔案的檔案名稱匯出到單一文字檔案中作為清單。我將如何去做這樣的任務?
其次,是否可以部分刪除文字檔案中所列的檔案名稱?請看截圖:
我需要刪除檔案名稱“HS3-HTS-”並僅保留檔案名稱的數字。
最後,我需要命令提示字元來執行此任務還是有其他解決方案?
我找到了一個關聯在這裡,但它沒有告訴如何僅選擇圖像文件,任何幫助將不勝感激。提前致謝。
答案1
假設您想要檔案副檔名 jpg、jpeg、gif 和 png;並假設您想從目前目錄中提取檔案名稱:
powershell "dir *.jpg,*.jpeg,*.gif,*.png | ForEach-Object {echo ($_.BaseName -replace 'HS3-HTS-', '')}" > Output.txt
如果需要遞歸搜索,要使用單一命令查找多個目錄中的文件,可以使用以下命令(只需將“C:\”替換為所需的驅動器或基本目錄):
powershell "Get-ChildItem -Path C:\ -Recurse -Include *.jpg,*.jpeg,*.gif,*.png | ForEach-Object {echo ($_.BaseName -replace 'HS3-HTS-', '')}" > Output.txt
請注意,上述兩個範例都會將清單放入目前目錄中名為「Output.txt」的檔案中。經過目前目錄,我的意思是使用命令提示字元查看的目錄。如果您想直接在命令提示字元中查看輸出而無需開啟文件,只需省略> Output.txt
上述命令中的最後一個即可。另請注意,儘管基於 PowerShell,但上述命令被制定為在正常命令提示字元中運行。 「powershell」部分告訴它使用 PowerShell 解析指令。