2015-03-02 50 views
1

我喜歡運行控制檯PROGRAMM(如FSUTILLN)找到一個文件夾內的所有硬件的兄弟姐妹和記錄所有導致文本文件。 這是很容易做到這一點,當文件夾中的名字被知道像批處理或VBS:運行控制檯程序

  • FSUTIL硬鏈接列表「83333課程vitae.jpg」> hardwarelinks2.txt
  • FSUTIL硬鏈接列表「77127 Prolis Moderatio.jpg」 >> hardwarelinks2.txt

...等, 但如何時,文件的數量太大,文件夾中文件名是未知的。 我想這在VBS,但它總是帶來一些錯誤

Set oShell = WScript.CreateObject ("WScript.Shell") 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
objStartFolder = "J:\Test" 
Set objFolder = objFSO.GetFolder(objStartFolder) 
Set colFiles = objFolder.Files 
For Each objFile in colFiles 
oShell.run "cmd.exe /c fsutil hardlink list """ & objFile.Name & """ >> hw2.txt" 
Next 
Set oShell = Nothing 

似乎有些問題,在文件名中的空格,所以我必須使用引號 - 但怎麼辦呢?

感謝您的幫助

回答

0

批處理文件

(for %%a in ("j:\test\*") do @fsutil hardlink list "%%a") > hardlinks2.txt 

內使用或者,如果你想從VBS

執行它
oShell.run "cmd /q /c ""(for %a in (""j:\test\*"") do fsutil hardlink list ""%a"") > hardlinks2.txt""" 
+0

謝謝你這麼多,批量工作, _s VBScript不... _ – Gurkenhobel 2015-03-02 16:07:44

+0

@Gurkenhobel,對不起,我的錯。我忘記了收盤報價。更新。 – 2015-03-02 16:26:02

+0

現在這個工作也是。非常感謝你的幫助 !祝你今天愉快。 – Gurkenhobel 2015-03-02 18:00:50

相關問題