ショートカットの作成] コマンドをソース パス フォルダー名は 8 文字切り捨てられます

文書翻訳 文書翻訳
文書番号: 263324
すべて展開する | すべて折りたたむ

目次

現象

ショートカットを作成してで長いファイル名を指定します。ハード_ディスク上のターゲットにされていない場合は、ターゲット ・ パスをパスが切り捨てられます存在します。たとえば、次のターゲットにショートカットを作成します。

J:\Mydirectory\Myapplication.exe

J のドライブが存在しない場合は、パス切り捨てられます。

J:\Mydirect\Mypplica.exe

原因

シェルが判断できないためこの問題が発生することができます。ハード ディスクが長いファイル名をサポートしているかどうか、ため、パスに切り捨てられますすべてのファイル ・ システムを使用できます。

状況

マイクロソフトこれに記載されているマイクロソフト製品の問題であることを確認していますこの資料の冒頭にあります。

詳細

いずれかを使用してこの問題が発生する可能性があります、ショートカットを作成するのには、次の方法:
  • システムの管理サーバー (SMS) のインストーラーを作成します。ショートカット メニュー
  • VBScript の作成します。
  • IShellLink インターフェイス メソッド

SMS インストーラーを作成します。


説明は、SMS インストーラー .ipf ファイル問題:
item: Create Shortcut
  Source English=X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe
  Destination English=C:\Winnt\Shortcut123.lnk
  Key Type English=1536
  Flags=00000001
end
				
場合は、この展開のスクリプトをコンパイルして実行した後ドライブ [X] が存在しない、ことを観察することができることを確認してショートカット作成され、ターゲット パスに切り捨てられますがします。

X:\Pw32\Alongdir\Blongdir\Longfile.exe

ドライブ X を接続している場合は、共有するかを使用します。 subst コマンド、スクリプトを再度実行して、ローカル ドライブを指す、正しいターゲットのパスに、ショートカットを作成します。

X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe

この問題SMS インストーラーによって原因はないです。この問題は、SMSインストーラーは、IShellLink インターフェイスを使用して ("、IShellLink インターフェイスを参照してください。ショートカットを作成する方法」)。SMS インストーラーは、正しい完全パスします。IShellLink インターフェイスが、パス名が切り詰められると、IShellLink::SetPath 操作が実行されます。

VBScript の [ショートカットの作成方法

サンプル VBScript は、問題を示します。
set WshShell = WScript.CreateObject("WScript.Shell")
set oShellLink = WshShell.CreateShortcut("d:\" & "\Long filename Shortcut .lnk")
oShellLink.TargetPath = "j:\my long directory\myapplication.exe"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.Description = "Long Filename Shortcut"
oShellLink.Save
				
このスクリプトを実行して、J のドライブが存在しない場合は、. します。作成したショートカットのターゲット パスが。

J:\My_long_\Myapplic.exe

メモ。 通常はファイル システムではサポートされていませんどの文字スペースなど、長いファイル名を置き換える必要がないです。「_」アンダー スコア記号です。

この問題を回避するを使用します。は、 subst ローカル ハード ディスクにドライブ J をポイントするコマンド:
set WshShell = WScript.CreateObject("WScript.Shell")
Dim ret
'subst a drive to make the mapping work
ret = WshShell.Run ("cmd /c subst j: c:\", 0, TRUE)
set oShellLink = WshShell.CreateShortcut("d:\" & "\Long filename Shortcut .lnk")
oShellLink.TargetPath = "j:\my long directory\myapplication.exe"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.Description = "Long Filename Shortcut"
oShellLink.Save
'remove the subst
ret = WshShell.Run ("cmd /c subst j: /d", 0, TRUE)
				
J をドライブ C: ドライブにこのコマンドを指すドライブ C が長いファイルをサポートしている場合名、ショートカット次のターゲット ・ パスとコマンドを作成します。

J:\My 長 directory\Myapplication.exe

できます。J を既知の共有にドライブを WshNetwork.MapNetworkDrive を作成する、ショートカットとして、前の手順で説明したし、を使用して、ドライブ J を削除WshNetwork.RemoveNetworkDrive。

IShellLink インターフェイス メソッド

コードを使用して、問題を示します、Microsoft Visual C IShellLink インターフェイス:
HRESULT hres; 

IShellLink* psl; 
 
    // Get a pointer to the IShellLink interface. 
    hres = CoCreateInstance(CLSID_ShellLink, NULL, 
        CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID *) &psl); 
    if (SUCCEEDED(hres)) { 
        IPersistFile* ppf; 
 
        // Set the path to the shortcut target and add the 
        // description. 
        hres = psl->SetPath("X:\\azertyuiop\\azertyuiop.exe");
				
IPersistFile::Save を使用すると、ショートカットを作成する必要があります。これアクションのターゲット パスになります。

X:\Azertyui\Azertyui.exe

すべてのバージョンでこの問題が発生します。Windows NT 4.0 と Windows 2000 を使用します。

プロパティ

文書番号: 263324 - 最終更新日: 2011年7月25日 - リビジョン: 5.0
キーワード:?
kbnofix kbui kbprb kbsms200presp3 kbmt KB263324 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:263324
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com