我有一个 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