2016-04-16 22 views
0

私は、VBScriptからショートカットを起動しようとしていますが、私は非常に奇妙なエラーに実行しています。絶対パスではなく相対パスでファイルが見つかりましたか? (VBS)

私はショートカットの相対パスを使用すると、スクリプトはショートカットは完全に罰金開きます。しかし、絶対ファイルパス(Windowsエクスプローラからコピーされているので、タイプミスなど)を使用すると、ファイルが見つからないというエラーが表示されます。

相対パスコード:

dim x 
set x = CreateObject("WScript.shell") 
x.Run("Shortcut.lnk") 
set x = Nothing 

これは、ファイルを開きます。

絶対パスコード:

dim x 
set x = CreateObject("WScript.shell") 
x.Run("C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\Shortcut.lnk") 
set x = Nothing 

あなたが見ることができるように、コードはまったく同じです。しかし、それは私にファイルが見つからないというエラー与える:

Script: C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\test.vbs 
Line: 3 
Char: 1 
Error: The system cannot find the file specified. 
Code: 80070002 
Source: (null) 

スクリプトのファイルパスは正確に私がコードに入れているパスなどのエラーで同じであるが、それはまだ私にエラーを与えます。

ご協力いただければ幸いです。

注:私のユーザ名は*****に変更されました。

+0

が '' ****何を意味して

x.Run("C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\Shortcut.lnk") 

を交換してください。 –

答えて

2

スペースを含むシェル(.Run、.Exec)パターには引用符が必要です。だから、

x.Run """C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\Shortcut.lnk""" 

(CF herehere

+0

ありがとう、私は単なる引用符で十分だろうとは思っていませんでしたが、私は文字列自体に引用符が必要だと思います... – SchoolBoy

関連する問題