获取目录中单个HTML文件的文件名
问题描述:
想象一下Windows中只有一个.html
文件(或任何其他扩展名)的目录。即,当我做dir *.html
时,只列出一个文件。获取目录中单个HTML文件的文件名
是否有任何简单的命令来获取该文件名而不进入for
循环,该循环使用set
?我正在从另一个软件运行命令行,它无权创建文件(使用>
),也无法访问环境变量(使用set
)。
在这种特殊情况下,我想开这样的文件,Firefox的命令行
C:\mydir>"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" [single_file].html
答
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
有趣!有没有'set',使用环境变量的解决方案? –
有什么更简单的,没有'set'?是的,我同意,dos是可怕的。 –
这涉及到创建文件('>')和处理环境变量('set')并且我都不能访问。 –