- ベストアンサー
ショートカットアイコンのリンク先編集方法
ショートカットアイコンのリンク先や作業フォルダの編集方法について教えてください。 通常であればショートカットアイコンのプロパティーで簡単に編集は出来るのですが、実際に存在しないドライブやパスをリンク先や作業フォルダとして書き換えたいのです。 何故そんな事を・・・と言いますと、知人(遠方)のPCにショートカットアイコンを作って渡してあげたいのですが、現在私が使っているPCはCドライブしか存在しません。 その知人のPCにはDドライブが存在し、そこにパスを通さなければならないのですがDドライブが存在しない私のPCで編集しても「作業フォルダに指定された'D:\~'フォルダは無効です。」あるいは「受け側に指定されたパス名'D:\~'」は無効です。」となり編集する事が出来ないのです。 (一時的にドライブを追加してフォルダを作れば可能な気もするのですが、現状ではそれが出来ません。) どなたかこういった事を強引に編集する方法、又はツールをご存じでしたら教えて頂くようお願いします。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
ああ、できますね。やったことが無かった。 もったいぶるほどのことでもないので鬼門部分のコードを提示します。 (見やすくするために各行の頭に全角の空白を置いていますのでこのままコピペしないように!) Dim WSshel Dim Linkobj,Linkname,LinkPath Set WSshell=CreateObject("WScript.Shell") Set linkobj=WSshell.CreateShortcut(Linkname & ".lnk") linkobj.TargetPath=LinkPath linkobj.save Linkobj 目的のショートカットをあらわすオブジェクトです Linkname ショートカットの名前です LinkPath ショートカットがあらわしているもの(通常はexeファイル) 1,2行目 変数宣言をしています。型の宣言はありません。 3行目 シェルオブジェクトを作ります。(深く考えずにおまじないお思ってください) 4行目 ショートカットオブジェクトを作って(Create)その名前をLinknameとします。拡張子はlnk. Linknameはパスも一緒に指定します。デスクトップに置くならデスクトップのパスを取得して(desktoppathとする) desktoppath & "\" & を前置きすればいいでしょう。 5行目 linkobj.TargetPath=LinkPath ショートカットのTargetPathプロパティを設定します。 ここに目的のコマンドの文字列を記述すればいいでしょう。 ただし、ファイル名に空白があったりしたら”の使い方に間違いがおきやすいので充分注意してください。 6行目でショートカットができます。 テキストファイルでコードを書き拡張子をVBSで保存すればダブルクリックで実行されます。 充分テストしてくださいね。
その他の回答 (9)
- rivoisu
- ベストアンサー率36% (97/264)
確かにショートカットオブジェクトにはWorkingDirectoryというプロパティがありますね。これは文字列で設定できます。 何の作業領域なんでしょうか、私にはわかりません。 プログラムが要求するとWindowsがここを使いなさいと教えてくれるのか? ショートカットだけににある意味が分からない まぁスルーしときます。
- rivoisu
- ベストアンサー率36% (97/264)
>同じプロパティ内の「作業フォルダ」の設定 えーーとどこで作業フォルダが出てくるのでしょうか 「作業フォルダに指定された'D:\~'フォルダは無効です。」というメッセージのことですか? いつか示された C:\CCC\ABC.exe /S1 D:\DDD\ABC.csv /S2 D:\DDD\DEF.csv を動かした時に出るメッセージだとしてGuessしてみると。 ABC.exe というプログラムがなんらかの作業領域としてどこかにファイルを作る必要がある。もちろん終了時に消されるファイルです(つまり一時ファイル)そのファイルをどこに作るのかというのはプログラムの設計者が勝手に決めるわけです。 さてこのプログラムの作者は出力ファイルか入力ファイルのあるフォルダ(つまりD:\DDDフォルダ)を作業用とする設計にしました。入力ファイルが(または出力ファイル)があるフォルダとして指定されているのですから当然存在すると思う。 プログラムが作業用ファイルを作ろうとしたらD:\DDDというフォルダfがない(Dドライブが無いのだから当然)。というのでメッセージを出しているのでしょう。 以上が私の推測です。
補足
ショートカットアイコンのプロパティーを開いてショートカットのタブを選ぶと、リンク先(T)、その下に作業フォルダ(S)、ショートカットキー(K)、実行時の大きさ(R)(プルダウンメニューでの選択)、WinXPの場合はコメント(O)、の4っつないし5つの編集エリアがありますよね。 この中の作業フォルダ(S)の部分にも任意の文字列を入れたいのです。 ここの編集エリアに入れる文字列も存在しないドライブを記入してOKなり適用ボタンを押すとはじかれてしまいます。(今回作業フォルダ(S)の欄に入れたい文字列は仮でD:\DDDとなります) ショートカットアイコンを編集する段階での話で、まだ.exeファイルを起動させる以前の話になります。 一時ファイルをどこに作るかはプログラム設計者が決める事なんですね、Windowsが勝手にやっているものだと思ってました。 こんな説明でご理解頂けるでしょうか? 宜しくお願い致します。
- Hageoyadi
- ベストアンサー率40% (3145/7860)
お礼
お~ substコマンドですね、随分前によく使ってました。 調子に乗ってあまりに多用したが為に本来のディレクトリの存在場所がわからなくなる事もしばしば。 慌ててAutoexec.bat だか config.sys を覗いては、あぁそうだったそうだったと。 こんな手もあったんですね~ 目から鱗です! ただ、この方法もDドライブのDVD-ROMのお引っ越しは必用ですね。 でも無理矢理Dドライブに割り当てしたらどうなるんだろ? と思ってやってみたら・・・・・しっかり蹴られてしまいました。 無効なパラメータです -D: だって。 ありがとうございました。 PS. なんだか年齢がばれてきそうな・・・・・
- MR-S18000
- ベストアンサー率45% (21/46)
DドライブはDVD-ROMに割り当てられているとのことですがドライブ内に CDないしDVDが入った状態ならショートカット作成可能です。 ですので『D:\DDD\ABC.csv /S2』とされたいのでしたらCSVを『DDD』 フォルダごとCDないしDVDにやきドライブに入れショートカット作成 です。 これでいけると思います。
お礼
えぇその通りですよね ただそそれだけのためにすぐに無用となるCDを焼くのも如何なものかと・・・・・
- rivoisu
- ベストアンサー率36% (97/264)
えっ C:\CCC\ABC.exe /S1 D:\DDD\ABC.csv /S2 D:\DDD\DEF.csv みたいなもののショートカットてできるの?
補足
出来ると思うのですが・・・・・ と言うよりそういうショートカットアイコン使ってます。 勘違いされているわけでは無いと思いますが念のため、「アイコン名」ではありません。アイコンのプロパティの中にある「リンク先」です。 実行ファイル名やパス等を仮にABC.exeや\DDDなどと表記しています。 例えば簡単な例で言いますとエクスプローラのショートカットを作り、リンク先にスイッチやパス名を追加して ”C:\Windows\Explorer.exe /n,/e,C:\My Documents” なんて記述すると、このショートカットアイコンのからの起動で自動的にC:\My Documents\フォルダを開くようになりますよね。 こんな表現でご理解頂けるでしょうか?
- rivoisu
- ベストアンサー率36% (97/264)
連休、暇なときにコードを書いてアップするかも知れません。 期待しないで待っててください。(締め切らないでね)
お礼
VBScriptですか この様な物があるなんて正直全く知りませんでした。 ただ・・・・・果たして私に使いこなせる物なのか??? >MS-DOSのバッチみたいな使い方ができます。 と言う言葉に期待してちょっと摘んでみようかと思います(週末かな?) その前にrivoisuさんにコード頂けるかな? >期待しないで待っててください。(締め切らないでね) との事ですので期待せずに(でも内心期待たっぷりで)お待ちしております。 C:\CCC\ABC.exe /S1 D:\DDD\ABC.csv /S2 D:\DDD\DEF.csv と言った感じで、実行ファイルに続くスイッチで指定のCSVファイルを読み込む事をします。 実際はもっと大量にスイッチがあって、ディレクトリも奥深いのですがイメージとしてはこんな感じです。 それでは期待せずに?お待ちしていています。
- rivoisu
- ベストアンサー率36% (97/264)
VBScript(WHS)ならショートカットを作ることができます。 VBScriptはWeb上で動くものと思われているようですが、MS-DOSのバッチみたいな使い方ができます。 この中でショートカットを作る事ができます。 あなたはエディターでVBScript を書いてaaa.vbsという名前で保存して 相手に贈りこれをダブルクリックしてもらえばいいのです。 http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/wshtop.htm この辺りを参考に
此方でどうこうするの話では在りません。 渡された相手がする事です。 送った自分の環境化にドライヴが無いのなら作成する事が出来ないですよ? テキストを添付すれば良いのでは? 此のショートカットにはコレをプロパティから編集してと一言添えれば良い筈。
お礼
確かにaidesさんのおっしゃる通りですし、私も出来る事ならそうしたいのは山々なんですが・・・・・ ただ、そうもいかない事情もありまして。
- ts3m-ickw
- ベストアンサー率43% (1248/2897)
USBメモリを挿してDドライブにするのが一番早いと思いますが、ショートカットを編集するエディタがありました。 ダウンロードしてみましたが使い方がちっとも判らん‥‥。 http://keines.seesaa.net/category/646321-1.html
お礼
早速の回答ありがとうございます。 >USBメモリを挿してDドライブに・・・・・ 確かにそうなんですよね、書き忘れてしまったのですが実はDドライブはDVD-ROM(←古っ)に割り当てられてまして、 ドライブレターの変更をしてDドライブにUSBメモリを割り当てれば良いのかもしれませんが、もっと簡単な方法やツールがあればなぁと思いまして 質問をした次第です。 探して頂いたソフト試してみましたが、セーブする際にDドライブが無い!と蹴られててしまいました。残念です。
お礼
鬼門部分のコードですか、これに必用な名前やパスを書き足していけば宜しいんですね? ありがとうございます。 早速試してみたいと思います。(でも週末だなぁ) >3行目 シェルオブジェクトを作ります。(深く考えずにおまじないお思ってください) →私には全部の行がおまじないに見えてしまいました!! じっくり腰を据えて取りかからないとダメですなこりゃ 文字列を囲う記号は””ではなくて""でしたね、あぁ勘違い勘違い。 ところで、こんなに丁寧に教えて頂いた上で大変申し上げにくいのですが、同じプロパティ内の「作業フォルダ」の設定はどうすれば良いかおわかりでしょうか? (そもそも「作業フォルダ」の意味が自分自身よくわかっていないのですが、一時ファイルなら大抵TMPかTEMPフォルダに作られるし・・・・・?) また、特に指定しない場合、同じ画面内にある「ショートカットキー(K)」とか「実行時の大きさ(R)」などはどの様な設定になっているのでしょうか? 今回「ショートカットキー(K)」は特に必用としませんが出来れば「実行時の大きさ(R)」は最大化で起動させたいです。 「ショートカットキー(K)」は空白で「実行時の大きさ(R)」は通常のウィンドウかな? 色々と質問が増えてしまい大変恐縮ですが、宜しければ引き続き宜しくお願い致します。