2017-08-01 73 views
0

想象一下Windows中只有一個.html文件(或任何其他擴展名)的目錄。即,當我做dir *.html時,只列出一個文件。獲取目錄中單個HTML文件的文件名

是否有任何簡單的命令來獲取該文件名而不進入for循環,該循環使用set?我正在從另一個軟件運行命令行,它無權創建文件(使用>),也無法訪問環境變量(使用set)。

在這種特殊情況下,我想開這樣的文件,Firefox的命令行

C:\mydir>"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" [single_file].html 

回答

0

DOS是可怕的

如果你真的想要一個襯墊...

dir /b *.html > tmp & set /p var=<tmp & del tmp & "C:\\Program Files (x86)\\Google\Chrome\\Application\\chrome.exe" %var%

我有Chrome,所以只需將您的路徑替換爲Firefox的路徑即可。 dir /b *.html是這裏的關鍵。它只列出文件,沒有任何dir通常放置的其他標頭。 /b是用於BARE。

編輯:由於您無權寫入文件和設置變量,因此除了使用for循環外,我認爲您沒有其他選項。這一個這裏是很短的

for %h in (*.html) do start Chrome %h 

你應該檢查您可以運行start Firefox啓動Firefox。否則,你就必須替代路徑,像這樣:

for %h in (*.html) do "C:\\Program Files (x86)\\Google\Chrome\\Application\\chrome.exe" %h 

如果Firefox是默認瀏覽器,你可以運行:

for %h in (*.html) do %h 
+0

有趣!有沒有'set',使用環境變量的解決方案? –

+0

有什麼更簡單的,沒有'set'?是的,我同意,dos是可怕的。 –

+0

這涉及到創建文件('>')和處理環境變量('set')並且我都不能訪問。 –