批处理文件 - 文本文件打印顺序

时间:2017-10-25 08:58:35

标签: batch-file cmd command-prompt

我在文件夹temp_files中有大约100个文本文件,这就是我打印它们的方式

        for /f %%B in ('dir temp_files\*.txt /b') do (

    start /min notepad /P temp_files\%%B
    )

文件打印正常,但它们没有按顺序打印。例如,当我像这样回显输出

        for /f %%B in ('dir temp_files\*.txt /b') do (

    echo start /min notepad /P temp_files\%%B>>print_order.txt
    )
print_oreder.txt中的

顺序正确, 这就是 print_order.txt 的外观:

start /min notepad /P temp_files\location_1_product_1.txt
start /min notepad /P temp_files\location_1_product_2.txt
start /min notepad /P temp_files\location_1_product_3.txt
start /min notepad /P temp_files\location_2_product_1.txt
start /min notepad /P temp_files\location_2_product_2.txt
start /min notepad /P temp_files\location_2_product_3.txt

但是当实际打印到来时,它不是有序的,它是随机的顺序。这就是实际印刷品的来历, 实际打印订单

location_1_product_1.txt
location_1_product_3.txt
location_2_product_2.txt

有没有办法按此顺序打印, 期待打印订单:

location_1_product_1.txt
location_1_product_2.txt
location_1_product_3.txt
location_2_product_1.txt
location_2_product_2.txt
location_2_product_3.txt

请帮忙。谢谢。

1 个答案:

答案 0 :(得分:2)

您有计时问题(您打开了大约100个进程,但不保证它们按特定顺序执行)。添加/wait以等待每个进程在下一个进程启动之前完成:

start /min /wait notepad /P temp_files\%%B

(注意:这会使你的脚本慢得多,但你必须等待打印机..)