USB上でBATファイルを作成する方法?


0

ドライバの設定のような複数のプログラムを開くバッチファイルを作りたい このように

cd\
D:    (the usb drive letter )
start sound driver.exe
start  tochpad driver.exe

USBペンドライブではなく、コンピュータのハードドライブからバッチファイルを開くだけです。

そして問題は、USBはすべての単一のコンピュータ上でそのドライブ文字を変更することです。

enter image description here


私が実行したいプログラムは、ハードドライブではなく、USBにあります
mina nageh

ペンドライブにバッチを入れてみませんか?
Seth

ハードドライブから起動したいのですが
mina nageh

はい、でもその理由は何ですか?なぜあなたはそのバッチをハードドライブ上に持っているのでしょうか(どうやってそこにたどり着けるのですか?)しかし、対応するドライバファイルは持っていませんか?ループメソッドは役に立ちましたか?
Seth

いいえ私はそれを使用する方法がわからなかったのでそれは私を助けていませんでした...それはうまくいって私にusbドライブレターを見せましたが、どうやって私はそれを使うことができます.... - / F "tokens = 1 *" %% a in( 'fsutil fsinfo drives')に対して@echo off(%% c in(%% b)に対して)(/ F "tokens = 3" %% d inに対して) ( 'fsutil fsinfo drivetype %% c')do(%% dがリムーバブル(エコードライブ%% cがリムーバブル(USB ^))の場合))))))
mina nageh

回答:


1

ある種の識別ファイルをドライブに置き、ドライブを繰り返します。あなたがそのファイルを見つけたなら、あなたはあなたがpendriveを見つけたことを知っています。上記のファイルが存在しない場合、これは機能しなくなります。

この例は次のようになります。 USBを検出してコピーする スクリプトを使用してUSBドライブに

それによると、 "USB.txt"というファイルを想定した簡単な方法は次のようになります。

@echo off
for %%d in (D: E: F: G: H: I: etc...) do (
   if exist %%d\USB.txt (
      echo USB at drive %%d connected
      %%d
      start sound driver.exe
      start tochpad driver.exe
   )
)

より良い解決策は、 質問 私はリンクしました。通常のドライブ名としてA:とB:を使用しているかUSB.txtが存在していない可能性があるため、上記には既にいくつかの落とし穴があります。

その質問から「修正された」解決策を見れば、それは次のようになります。

@echo off
for /F "tokens=1*" %%a in ('fsutil fsinfo drives') do (
   for %%c in (%%b) do (
      for /F "tokens=3" %%d in ('fsutil fsinfo drivetype %%c') do (
         if %%d equ Removable (
            echo Drive %%c is Removable (USB^)
            %%c
            start sound driver.exe
            start tochpad driver.exe
         )
      )
   )
)

私が言えることから fsutil 管理者権限で実行する必要があるので、あなたがしていることに応じてそれに注意する必要があります。


0

エクスプローラからbatファイルをクリック(実行)すると、カレントディレクトリはバッチファイルの場所に設定されると思います。

あなたのバッチファイルがUSBスティックのディレクトリから保存されて実行されるのであれば、あなたはすでにそのドライブ名を持っているディレクトリにいます。ドライブを切り替える必要はないので、指定する必要はありません。

だからちょうど使う CD \ これにより、自分がいるドライブのルートレベルにいることが保証されます。

同じドライブ上の他のディレクトリにアクセスするためにドライブ文字を使用する必要もありません。あなたがフォルダにいる場合 c:\temp

123\file.txt と同等です c:\temp\123\file.txt (先頭にスラッシュがないので、パスは現在のパスに追加されます)

\123\file.txt と同等です c:\123\file.txt (先頭のスラッシュ。パスはドライブ文字にのみ追加されます(「ルート」と呼ばれます)。

バッチファイル内から他のバッチファイルを起動していて、それらのディレクトリがどのディレクトリにあるかを知る必要がある場合、これは少し複雑になる可能性があります。

また見なさい( https://stackoverflow.com/questions/16255184/ 現在の作業ディレクトリを見つける方法に関するより詳細な議論のために)。


あなたの例では、正しいドライブに変更することにも注意してください 最初 次に、を使用して目的のディレクトリに移動します。 cd。あなたの例では、とにかくうまくいったでしょうが、 cd \temp その後 d: するでしょう ではない されている d:\temp
Yorik

bro私はあなたがタイプしたものすべてを知っています..私がやりたいことはusbでプログラムを開くためにpcのパーティションからバッチファイルを開始することです。毎回変わるから
mina nageh

バッチについては、使用することも検討できます ~dp0 を使って cd /D それはドライブの変更を確実にするでしょう。
Seth

私は方法NBを理解していなかったので、このバットファイルはサウンドdriver.exeを開始touchpad driver.exe .....誰かが私のためにそれを編集することができます。これらのファイルはUSBにあります
mina nageh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.