2017-08-01 16 views
0

ファイルが1つだけの.htmlファイル(またはその他の拡張子)を1つだけ持つWindows内のディレクトリを想像してください。つまり、私がするときdir *.html 1つのファイルだけが表示されます。ディレクトリ内の単一のHTMLファイルのファイル名を取得します

setを使用するforループに入ることなく、そのファイル名を取得する簡単なコマンドはありますか?私は別のソフトウェアからコマンドラインを実行しており、(>を使用して)ファイルを作成するためのアクセス権も、(setを使用する)環境変数にもアクセスできません。あなたが本当に1つのライナーをしたい場合は、この特定のケースで

、私は

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

答えて

0

Firefoxのコマンドラインで、このようなファイルを開くしたい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')の処理を含んでおり、私はどちらにもアクセスできません。 –

関連する問題