在Windows cmd批处理文件中如何忽略回车符

在Windows cmd批处理文件中如何忽略回车符

我有一个 Win 7 bat 文件,它提示用户输入一个数字,然后将该数字作为参数传递给 tcl 脚本。

使用光学条形码扫描仪提供数字,但我希望用户能够在 bat 文件继续之前修改数字(使用键盘)。问题是扫描仪似乎在扫描结束时添加了一个回车符,这会使 bat 文件自动继续(如果我使用键盘而不是扫描仪输入数字,则 bat 文件不会继续,直到按下键盘 Enter 键)。

所以我希望 bat 文件忽略扫描仪发送的回车符,但是当用户按下键盘上的 Enter 键时继续。

这是我的蝙蝠文件:

echo off
set /p sernum= Enter the serial number:  
cd C:\Tcl\bin
tclsh.exe tcl_file.tcl %sernum%
cmd

答案1

谢谢您的回复。我再想了一下,意识到我可以修改扫描的输入,而不需要用户通过键盘进行更改。

这是我的新 bat 脚本:

echo off
set /p sernum= Scan the serial number barcode label:  
REM extract last 6 chars from serial number & prepend text
set sernum=new_text%sernum:~-6%
cd C:\Tcl\bin
tclsh.exe tcl_file.tcl %sernum%

“~-6” 从扫描的序列号中提取最后 6 个字符(这是我的要求之一),然后我在其前面添加一些固定文本(我的另一个要求)。简单易用。

相关内容