Console 程序的参数问题

zjcxc 2017-03-16 03:47:45
编写 Console 的参程序数处理问题
    Sub Main(args As String())
For i = 0 To args.Count - 1
Console.WriteLine(args(i))
Next
Console.ReadLine()


1. 如果取得原始的参数输入?
比如我输入的命令是: cmd "ab:c":a
在程序中得到的参数是: ab:c:a
参数外面的双引号给去掉了,我本意是想输入一个带分隔答的参数值,ab:c 是一个值,a 是一值,如果是原始输入,很容易处理,结果自动给我把双引号去掉了,那我就搞不清楚输入的是什么了

2. 如何接收 < 的输入? 也就是: cmd < 文件, 把文件内容做做为 cmd 的输入
...全文
253 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2017-03-16
  • 打赏
  • 举报
回复
    Sub Main()
If Console.In.GetLifetimeService() Is Nothing Then
Console.WriteLine("无输入流。")
Else
Console.WriteLine("< 输入流:")
Console.Write(Console.In.ReadToEnd)
End If
Console.ReadLine()
End Sub
zjcxc 2017-03-16
  • 打赏
  • 举报
回复
Console.IsInputRedirected 解决第2个问题了,要 Framework 4.5, NND 第1个问题自己搞写了, Environment.CommandLine ,这个是原始命令行,想怎么折腾都行了
zjcxc 2017-03-16
  • 打赏
  • 举报
回复
引用 7 楼 starfd 的回复:
转义符可以自己处理出来啊,不用特别输入 replace('"',"\\"") 至于第二点,没看出来
就是要包装一个命令来用的,所以参数是用来输入的,不然何必纠结 第2点,换个程序说明吧,mysql.exe 命令只写: mysql.exe 结果是连接服务器并进入 mysql 命令行 如果写: mysql.exe < xx.sql 则是连接服务器并执行 xx.sql 也就是说,mysql.exe 有检查是否有 < 的输入,有和没有的处理不一样,这个不知道有没有办法弄
Poopaye 2017-03-16
  • 打赏
  • 举报
回复
引用 5 楼 zjcxc 的回复:
就是不想用转义符 因为想写一个封装其他命令的程序,自定义参数之外的,想直接传递给被封装的程序 如果用转义符,输入就显得很麻烦了,所以想要原始的参数自己处理
原始参数是怎么传递进来的呢?
引用 6 楼 zjcxc 的回复:
对于第2点 console.in 意味着必须有一个输入,不然程序一直等待输入,但像 findstr 这些程序,它们是有输入就接收输入,没输入也能正常给出 提示信息,想实现的是这个效果
Console.IsInputRedirected
  • 打赏
  • 举报
回复
转义符可以自己处理出来啊,不用特别输入 replace('"',"\\"") 至于第二点,没看出来
zjcxc 2017-03-16
  • 打赏
  • 举报
回复
对于第2点 console.in 意味着必须有一个输入,不然程序一直等待输入,但像 findstr 这些程序,它们是有输入就接收输入,没输入也能正常给出 提示信息,想实现的是这个效果
zjcxc 2017-03-16
  • 打赏
  • 举报
回复
引用 1 楼 qbilbo 的回复:
cmd \"ab:c\":a
就是不想用转义符 因为想写一个封装其他命令的程序,自定义参数之外的,想直接传递给被封装的程序 如果用转义符,输入就显得很麻烦了,所以想要原始的参数自己处理
  • 打赏
  • 举报
回复
Console.WriteLine(Console.In.ReadToEnd());

Tiger_Zhao 2017-03-16
  • 打赏
  • 举报
回复
1.参数中的双引号要转义
cmd \"ab:c\":a

2.调用用 Console.In
        Console.WriteLine("< 输入流:")
Console.Write(Console.In.ReadToEnd)
  • 打赏
  • 举报
回复
qbilbo 2017-03-16
  • 打赏
  • 举报
回复
cmd \"ab:c\":a

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧