![打印目录到文件](https://linux22.com/image/1609397/%E6%89%93%E5%8D%B0%E7%9B%AE%E5%BD%95%E5%88%B0%E6%96%87%E4%BB%B6.png)
我有一个 BAT 文件,它会将当前 DIR 打印到打印机。我希望它只在屏幕上显示文件,而不是在打印机上显示。
@echo off
dir %1 /-p /o:gn > "%temp%\Listing"
start /w notepad /p "%temp%\Listing
del "%temp%\Listing"
exit
答案1
notepad 的参数/p
定义如下:
/P 打印文件名
所以就把它脱掉吧。
第二个问题是该start
命令将与该命令并行运行del
,并且删除甚至可能在记事本读取文件之前发生。我建议不要使用start
,如下所示:
@echo off
dir %1 /-p /o:gn > "%temp%\Listing"
notepad /p "%temp%\Listing
del "%temp%\Listing"
不需要命令exit
,因为这隐含在文件末尾.bat
。
答案2
不要在记事本中使用开始或/p 开关......
@echo off
dir %1 /-p /o:gn > "%temp%\Listing.txt"
notepad "%temp%\Listing
del "%temp%\Listing.txt"
exit