私はスクリプトとユーザースタートアップを 2 つの異なるフォルダーに保存しようとしています (最終的な目的はメインプログラムスクリプトを隠すことです)
そこで、バッチファイルをスクリプトフォルダに置き、ショートカットを作成し、それを「RunMe」に配置しました。
これは、1 つの条件を除いて機能します。「ターゲット」フィールドと「開始」フィールドの両方に、自分のマシンに関連するドライブ文字が表示されます。フォルダーを USB スティック (自分のマシンでは「R:」) にコピーすると、パスは更新されないことはほぼ確実です。さらに言えば、USB を別のエンド ユーザーに渡すと、ショートカットのドライブ文字がまったく間違ってしまうのでしょうか?
数週間前、誰かが「ドライブに依存しない」バッチ スクリプト (%~d0\foldername) を提供しました... しかし、私が知る限り、アイコンをバッチ ファイルに直接追加することはできず、ショートカットにのみ追加できます。 (可能であれば、アイコンを自分の「ブランド」のままにしておきたいです)
回避策はありますか?
答え1
ショートカットの機能を維持しながらパスを移植可能にしたい場合は、ショートカットリンク自体を相対的にすることができます。たとえば、次の方法を使用します。ここ:
%windir%\explorer.exe "..\my\files"
もちろん、この方法の欠点は、同じハックを使用してアイコン ファイルへの相対パスを指定できないため、ユーザーのコンピューターで使用可能なアイコンでなければならないことです。
編集: で目的のプログラムを直接呼び出す代わりにexplorer.exe
、プログラムの起動、再配置、その他の管理を行うカスタムPowershell起動スクリプトを呼び出すことができます。その場合、次に示すような方法を使用できます。ここウィンドウの位置を変更します。