VB.NET 在引号中引用已设置的变量

做的是一个导出Bat的小程序大家都知道CMD的Start指令中,路径如果含有空格,则会理解成参数比如在TextBox_xxx中内容为C:\ProgramFiles\Ten... 做的是一个导出Bat的小程序
大家都知道CMD的Start指令中,路径如果含有空格,则会理解成参数
比如
在TextBox_xxx中内容为
C:\Program Files\Tencent\QQ\QQProtect.exe
则导出的内容应该是
Start "C:\Program Files\Tencent\QQ\QQProtect.exe"
但是我测试了,导出的内容仍旧为
Start "TextBox_xxx.Text"
除非不加引号,则导出内容为

Start C:\Program Files\Tencent\QQ\QQProtect.exe

运行,得到

Windows 找不到文件 "C:\Program" 请确定文件名是否正确后,再试一次

所以这就是路径名的问题了,不能有空格
使用API函数GetShortPath无效,因为含有文件名
求帮助,最好写一个Function,比如
变量中含有空格
展开
 我来答
姜飞雄
推荐于2016-10-01 · TA获得超过622个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:275万
展开全部

我建议vb.net的话,别像vb6那样用几个引号来代替一个引号,因为这种方式非常不直观,而且很容易出错。建议用以下两种方式表示:

1、controlchars.quoto

表示一个引号。

或者

2、chr(34) 

表示ascii码为34的字符,正好就是引号

Start "(" & controlchars.quoto & textbox_XXX.text & controlchars.quoto & ")"
chinaboyzyq
2015-01-29 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3177万
展开全部
"Start ""C:\Program Files\Tencent\QQ\QQProtect.exe"""
追问
这里面C:\Program Files\Tencent\QQ\QQProtect.exe是个常量,可以随时更改的
追答
WriteWord.WriteLine("Start " & """" & TextBox_xxx.Text & """")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
然后去远足
2015-01-29 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2381万
展开全部
贴你的代码。
追问
伪代码;
WriteWord.WriteLine("Start "& ""TextBox_xxx
.Text"")
WriteWord.Close()
输出结果应该为
Start "C:\Program Files\Tencent\QQ\QQProtect.exe
"
追答

你这把 TextBox_xxx.Text 当作字符串而非对象的属性传进去的,输出结果怎么能为下面那个?

 

VB.NET 里四个双引号代表一个双引号字符。所以改成:

WriteWord.WriteLine("Start " & """" & TextBox_xxx.Text & """")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式