ショートカット変更先フォルダを介して実行されるバッチファイル


0

ファイルを特定のフォルダーから現在のフォルダー(コマンドが実行されるフォルダー)に移動するバッチファイルがありますが、そのバッチファイルのデスクトップリンクを作成して実行しようとすると、ファイルは次の場所に移動します。コマンドが実行されているフォルダーではなく、バッチファイルが存在するフォルダー。これはなぜでしょうか。これを修正する方法はありますか?


1
スクリプトを投稿できますか?
Narzard

M:\ Logs *。*を移動します。
user2996777

単純なショートカットではなく、シンボリックリンクを試してください .lnk ファイル。
Biswapriyo

あなたはそれらをデスクトップに移動しようとしていますか?そうでなければ、バッチファイルはそれらをどこに移動すべきかをどのようにして知るのでしょうか。それはおそらくそれ自身のフォルダから "から"バッチファイルを起動しているので、そこにすべてをコピーしています。ショートカットのプロパティで "start in"フォルダを変更するか、バッチファイルの宛先に目的の場所を明示的に指定することでこれを解決できる場合があります。 move コマンド。
techturtle

バッチファイルへのデスクトップショートカットを作成した場合、ショートカットを使用したときにバッチファイルはどのフォルダから実行されますか。それは近道についてのあなたの理解に疑問を投げかけることを意味する修辞的な質問です。ショートカットのプロパティで、どのフォルダから始まるかを指定しましたか。
Appleoddity

回答:


2

これを修正するには2つの方法があります。

バッチファイルのコマンドを変更して、フォルダに明示的に名前を付けることができます。

move M:\Logs\*.* C:\NewLogFolder

またはあなたが変更することができます で開始 新しい目的地へのショートカット内の場所:

enter image description here


2

これを回避する1つの方法は、「送信」コンテキストメニューを使用することです。

「起動>実行」の場合 shell:sendto送信先のショートカットが保存されている魔法のフォルダにたどり着きます。次に、バッチファイルへのショートカットをデスクトップに追加してから、バッチファイルのショートカットをこのフォルダにドラッグすることができます(権限によって直接追加できない場合があります)。

ショートカットでバッチファイルを実行すると、パラメータ %1 強調表示したフォルダまたはファイルに設定されます。

フォルダ "c:\ bar"をハイライトし、次に "Sendto> Foo.bat"をハイライトします。

foo.bat:

@echo off
echo %1
pause

放出します:

C:\Bar

バッチファイルが次の場合

move M:\logs\*.* %1

ファイル名を強調表示しない限り、正しい結果が得られます。そのため、まずエラーと正当性をテストします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.