如何在批处理文件中打印多个文本文件

Bodotheguy

我到了一点砖墙。我知道如何通过记事本在批处理文件中打印单个文本文件,但是当涉及多个文本文件时,我会陷入困境。到目前为止,这是我实际上根本无法正常工作的内容:

set /P PrinterFile= "Enter File Name:" | set PrinterFile2= "" | set PrinterFile3= "" | set PrinterFile4= "" | set PrinterFile5= ""

if %PrinterFile%== ""(
    echo please enter valid file
    pause
) else (
    notepad.exe /P %PrinterFile%
)

pause

我没有完成if检查其他语句的语句,因为我无法使第一个语句正常工作。谁能指出我正确的方向?谢谢!

最后,它需要能够处理0到5个文本文件。例如(批处理文件的名称为printer.bat):

printer   file1.txt file2.txt file3.txt
oo

printfiles.bat

@echo off
setlocal
for %%f in (%*) do (
 if exist "%%~f" (notepad.exe /P "%%~f"
 ) else (
  if exist "%%~f.txt" (notepad.exe /P "%%~f.txt"
  ) else (
   echo "%%~f" not found
  )
 )
)

[未试]

这应该工作。它只是处理作为参数提供的名称列表,因此

printfiles abc,def,ghi,yellow.txt

如果文件存在,将打印文件(abcabc.txt)和(defdef.txt)以及(ghighi.txt)和(yellow.txtyellow.txt.txt)。

这样可以解决您的问题吗?


完整版

@ECHO OFF
SETLOCAL
:: Get file list from command line
SET "filelist=%*"
IF DEFINED filelist GOTO printthem
CLS
ECHO Press ENTER to START printing
:nextfile
SET "filename="
SET /p "filename=Print : "
IF DEFINED filename SET "filelist=%filelist%,"%filename%""&goto nextfile
IF NOT DEFINED filelist ECHO no files specified&GOTO :EOF

:printthem
for %%f in (%filelist%) do (
 if exist "%%~f" (notepad.exe /P "%%~f"
 ) else (
  if exist "%%~f.txt" (notepad.exe /P "%%~f.txt"
  ) else (
   echo "%%~f" not found
  )
 )
)

GOTO :EOF

第一件事:filelist从命令行加载,因此执行printfiles abc,def,ghi,yellow.txt将分配abc,def,ghi,yellow.txtfilelist如果没有提供的参数,则不分配任何filelist

如果filelist定义了(即,包含一个暗示提供了命令行参数的值),则转到标签printthem

否则,请清除屏幕以及如何显示消息 Press ENTER to START printing

然后设置filenamenone(因为set /p使用justEnter会使值保持不变),并提示使用进行输入Print :键盘输入将放入filename

如果输入了一个(假定的文件名)条目,则在逗号后面累积"the filename"到末尾filelist并重复请求文件名的操作。

当单纯Enter使用时,filename将为空,因此未定义,因此我们继续:printthem提供filelist不为空。

从那里开始,我们只需filelist将逗号分隔的文件名序列处理即可%%f如果输入的文件名存在,请使用记事本进行打印,如果不存在,请尝试追加.txt名称,即使失败,也将显示错误消息。

%%~f删除从项目的报价%%f然后将其重新报价,以便filenames containing spaces可以打印。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何缩短文件路径输出到批处理文件中的文本文件

来自分类Dev

如何使用批处理文件有选择地删除文本文件中的文本?

来自分类Dev

如何在批处理文件上使用命令FOR获取文本文件的内容

来自分类Dev

如何从批处理文件的文本文件中的行中删除多余的逗号?

来自分类Dev

如何从批处理文件的文本文件的行中删除多余的逗号?

来自分类Dev

如何通过批处理文件从文本文件中删除不需要的行?

来自分类Dev

如何将放入文本文件中的变量从批处理调用为批处理文件?

来自分类Dev

如何使用批处理文件将文本添加到多个文本文件的开头?

来自分类Dev

如何使用Windows批处理文件从文本文件中的文件列表中递归复制文件?

来自分类Dev

使用批处理文件编辑文本文件

来自分类Dev

使用批处理文件编辑文本文件

来自分类Dev

批处理文件以从文本文件读取行

来自分类Dev

批处理文件可从多个位置删除特定的文本文件

来自分类Dev

使用批处理文件从列表创建多个文本文件

来自分类Dev

如何创建一个批处理文件,该批处理文件将删除文本文件中的行

来自分类Dev

批处理文件:比较 2 个文本文件并更新文本文件中的特定行

来自分类Dev

使用文本文件重命名文件夹中的批处理文件

来自分类Dev

如何在给定的批处理文件中放置循环以生成输出文本文件

来自分类Dev

将文本文件中的特定行读取到批处理文件中的变量

来自分类Dev

如何使用Windows批处理文件解析包含本地变量的文本文件中的字符串?

来自分类常见问题

如何使用批处理文件写入文本文件?

来自分类Dev

如何使用批处理文件附加文本文件

来自分类Dev

如何创建从批处理文件复制ping信息的文本文件?

来自分类Dev

批处理文件如何并行读取两个文本文件?

来自分类Dev

批处理文件如何并行读取两个文本文件?

来自分类Dev

删除文本文件中带有“。”的行。批处理文件

来自分类Dev

批处理文件在.sql文本文件中执行mysql的if语句

来自分类Dev

从文本文件读取值以在批处理文件变量中设置

来自分类Dev

批处理文件在.sql文本文件中执行mysql的if语句

Related 相关文章

  1. 1

    如何缩短文件路径输出到批处理文件中的文本文件

  2. 2

    如何使用批处理文件有选择地删除文本文件中的文本?

  3. 3

    如何在批处理文件上使用命令FOR获取文本文件的内容

  4. 4

    如何从批处理文件的文本文件中的行中删除多余的逗号?

  5. 5

    如何从批处理文件的文本文件的行中删除多余的逗号?

  6. 6

    如何通过批处理文件从文本文件中删除不需要的行?

  7. 7

    如何将放入文本文件中的变量从批处理调用为批处理文件?

  8. 8

    如何使用批处理文件将文本添加到多个文本文件的开头?

  9. 9

    如何使用Windows批处理文件从文本文件中的文件列表中递归复制文件?

  10. 10

    使用批处理文件编辑文本文件

  11. 11

    使用批处理文件编辑文本文件

  12. 12

    批处理文件以从文本文件读取行

  13. 13

    批处理文件可从多个位置删除特定的文本文件

  14. 14

    使用批处理文件从列表创建多个文本文件

  15. 15

    如何创建一个批处理文件,该批处理文件将删除文本文件中的行

  16. 16

    批处理文件:比较 2 个文本文件并更新文本文件中的特定行

  17. 17

    使用文本文件重命名文件夹中的批处理文件

  18. 18

    如何在给定的批处理文件中放置循环以生成输出文本文件

  19. 19

    将文本文件中的特定行读取到批处理文件中的变量

  20. 20

    如何使用Windows批处理文件解析包含本地变量的文本文件中的字符串?

  21. 21

    如何使用批处理文件写入文本文件?

  22. 22

    如何使用批处理文件附加文本文件

  23. 23

    如何创建从批处理文件复制ping信息的文本文件?

  24. 24

    批处理文件如何并行读取两个文本文件?

  25. 25

    批处理文件如何并行读取两个文本文件?

  26. 26

    删除文本文件中带有“。”的行。批处理文件

  27. 27

    批处理文件在.sql文本文件中执行mysql的if语句

  28. 28

    从文本文件读取值以在批处理文件变量中设置

  29. 29

    批处理文件在.sql文本文件中执行mysql的if语句

热门标签

归档