2013-02-18 62 views
0

我覺得最好是單獨提出這個問題,而不是期望從我之前發表的評論中得到答案。列出一個目錄文件夾到一個變量

我已經爲目錄號碼%jobn%這是唯一設置的變量是有辦法,我可以搜索添加到另一個變量的未知元素,我通過命令行知道我可以運行Dir D09854*,我會得到一個單一報告全名,可以以某種方式收集並添加到一個命名變量?

S:\SWDA\HBOS>dir d09854* 
Volume in drive S is Images 
Volume Serial Number is FE8F-38FE 

Directory of S:\SWDA\HBOS 

18/02/2013 10:29 <DIR>   D09854_Parent Test 

我想要的元素"_"後加入一個變量%DirDesc%這樣我就可以通過組合%jobn%%DirDesc%得到"D09854_Parent Test"

+0

問題不清楚 - 確認 - 在HBOS目錄下有一堆子目錄 - 你想列出這些子目錄,然後將提取文本添加到每個目錄中? – Baljeetsingh 2013-02-18 15:12:30

+0

在HBOS下,將會有多個dirs全部以上述格式顯示。我需要爲其中一個文件夾添加另一個模板,我的例程已經讓用戶添加編號(結構化)的元素,但我需要一個用戶友好的getter描述元素添加到路徑而不需要用戶輸入,所以我的想法是通過列表的方式抓住它,並將其添加到另一個定義,希望這有助於。 – 2013-02-18 15:22:25

+0

FOR/F %% I IN('DIR/b%src%D0%Pjob1 %% Pjob2 %% Pjob3 %% Pjob4%_ *')DO SET V = %% IA很多搜索給了我上面的代碼幾乎給了我我需要的東西,除非它沒有選取整個尾部描述,而是停在第一個空格,而不是:> D09854_Parent測試我得到:> D09854_Parent一些描述可能有一些空格,所以我需要捕獲整個事情。希望有人可以讓我錯過一步:) – 2013-02-18 17:08:16

回答

0

dir d09854* /b將在一行中恢復完整的文件夾名稱創建的完整路徑,而無需額外的cruft,如果這有什麼用處?你在寫什麼小部件? 它是否必須是古老的老式DOS,還是可以使用較新的命令擴展?

對於有限的舊DOS,我無法想象如何將它變成一個SET變量而不將它傳遞給一個臨時批處理文件,首先將ECHO轉換成set variable=,然後在管道中使用>>追加到它...然後調用臨時批處理文件來執行命令!

+0

我正在使用Windows 7命令行。 'dir d09854 */b'就是我所追求的,但我需要檢索它並將其添加到我的xcopy路徑中。 – 2013-02-18 16:01:58

+0

我不知道爲什麼我不能評論原來的問題部分,所以我希望你能找到這個。有一個用於目錄的「For/d」選項 - 如果我在根文件夾中嘗試這個選項,我會在一個變量中得到'Documents and Settings':'for/d%p in(do *)do set myvar =%p' – 2013-02-18 20:56:04

+0

太棒了,感謝模糊,這似乎工作。我幾乎在那裏,但只是將第一部分的描述放到第一個空間。多一點測試和我的例程將完成歡呼聲。 – 2013-02-19 09:30:58

相關問題