【问题标题】:String not passed correctly from C# console application to VBS字符串未从 C# 控制台应用程序正确传递到 VBS
【发布时间】:2016-08-03 22:06:48
【问题描述】:

我有一个 VBS 脚本,可以在传递给它的任何目录播放声音文件。这是脚本:

Dim oPlayer
Set oPlayer = CreateObject("WMPlayer.OCX")
oPlayer.URL = WScript.Arguments.Item(0)
oPlayer.controls.play 
While oPlayer.playState <> 1 ' 1 = Stopped
  WScript.Sleep 100
Wend
oPlayer.close

这是我用来调用 VBS 的 C# 脚本:

System.Diagnostics.Process.Start(@"myscript.vbs", "mydir\0.mp3");

我也试过了:

System.Diagnostics.Process.Start(@"myscript.vbs", @"mydir\0.mp3");

脚本无法播放/找到声音文件。我收到错误“无法播放具有未知扩展名的文件”。但是,当我使用批处理文件调用 VBS 时,它工作得非常好:

cscript myscript.vbs mydir\0.mp3

有什么想法吗?谢谢!

【问题讨论】:

  • 如果真正的mydir0 文件名包含空格,则需要引用路径"\"mydir\\0.mp3\""

标签: c# variables batch-file vbscript


【解决方案1】:

搞砸了一段时间后,我发现了问题:VBS 脚本没有从我想要的目录执行。修复很简单:我没有使用相对目录,而是将完整路径传递给它:

C:\something\mydir\0.mp3

【讨论】:

    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 2015-11-21
    • 2013-01-27
    • 1970-01-01
    相关资源
    最近更新 更多