将多行和单行参数传递到MS DOS bat文件

阿米拉(Amila Thennakoon)

我尝试使用带有vb .net的gnokii sms库(http://gnokii.org/发送短信,im创建了一个单独的bat文件,并从我的vb.net代码中调用了该bat文件

这是我的VB代码

 Dim process As New System.Diagnostics.Process
    Dim startInfo As New ProcessStartInfo(AppDomain.CurrentDomain.BaseDirectory & "sms.bat")
    process.StartInfo = startInfo
    process.StartInfo.Arguments = txtBody.Text'text typed in text box

这是我的蝙蝠文件

@echo off
echo Begin Transaction
echo "message body" |  c:\sms\gnokii.exe   --sendsms 0771234567 'this is mobile no
pause

我的问题是我想将两个参数传递给消息正文和移动,而没有硬编码

消息主体由空格和多行组成,并且移动没有共处,只有一行没有空格

我如何在bat文件中实现

请帮忙

吉布

首先,您应该测试是否gnokii.exe通过管道接受多行文本。
只需创建一个多行文本文件并尝试使用

type mySMS.txt | c:\sms\gnokii.exe   --sendsms 0771234567

如果可行,则还可以从批处理文件中发送它,并在文本中添加换行符。

@echo off
setlocal EnableDelayedExpansion
set LF=^


rem ** The two empty lines are required **
echo Begin Transaction
echo Line1!LF!Line2 |  c:\sms\gnokii.exe   --sendsms 0771234567 'this is mobile no

使用换行符时,应使用EnableDelayedExpansion。
也存在将其与百分比扩展一起使用的解决方案,但这要复杂得多。
解释dos-batch换行符变量hack的工作方式

要将其与注释中的参数一起使用,您需要在VB中格式化消息。

因此,当您想要发送类似

您好,
这是
三行文字

您需要发送到批次

process.StartInfo.Arguments = "Hello!LF!this is a text!LF!with three lines"

您的批次应该看起来像

setlocal EnableDelayedExpansion
set LF=^


set "text=%~1"
echo !text! | c:\sms\gnokii.exe --sendsms %2

第二种解决方案,当它不起作用时。

创建一个临时文件并使用重定向

setlocal EnableDelayedExpansion
set LF=^


set "text=%~1"
echo !text! > "%TMP%\sms.txt"
c:\sms\gnokii.exe --sendsms %2 < "%TMP%\sms.txt"
del "%TMP%\sms.txt"

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将多行和单行参数传递到MS DOS bat文件

来自分类Dev

DOS .bat脚本未传递参数

来自分类Dev

无法将参数从“ .bat”文件传递到python脚本

来自分类Dev

.sh到.bat文件的转换

来自分类Dev

从bat文件向PowerShell传递参数

来自分类Dev

Conda环境和.BAT文件

来自分类Dev

如何将参数从 BAT 文件传递到编码的 powershell 脚本

来自分类Dev

如何将参数传递到bat文件并将其用作可执行文件的参数

来自分类Dev

将.py文件与.bat和.ini联网

来自分类Dev

使用.bat文件或dos命令提取目录(包括子文件夹)中的所有Zip

来自分类Dev

bat文件以参数打开Excel-空格

来自分类Dev

CMD(BAT)文件中的奇怪参数替换

来自分类Dev

使用参数运行.bat文件的食谱

来自分类Dev

从bat文件中读取文本到python

来自分类Dev

DOS批处理文件和FOR语句

来自分类Dev

开始和退出时间的bat文件

来自分类Dev

Oracle存储过程和bat文件

来自分类Dev

Windows 2016将无法运行.bat文件

来自分类Dev

将Windows文件扩展名与特定的bat文件相关联并支持参数传递

来自分类Dev

如何将文件名作为.BAT文件调用中的参数传递

来自分类Dev

在DOS / Windows批处理文件(.BAT)中,SET之后的REG命令“未知”

来自分类Dev

将bat文件(自身)复制到appdata

来自分类Dev

如何从.bat文件将变量源到PowerShell脚本?

来自分类Dev

使用.bat文件和任务计划程序执行.vbs文件

来自分类Dev

使用.bat文件和任务计划程序执行.vbs文件

来自分类Dev

您可以将.sh文件转换为.bat文件吗?

来自分类Dev

BAT文件将文件夹结构索引到HTML

来自分类Dev

.bat文件-将新变量写入.msl(.txt)文件

来自分类Dev

如何将参数从 bat 文件或命令行传递给 plpgsql 函数?

Related 相关文章

热门标签

归档