2011-10-24 33 views
0

私はMac/iPhoneデベロッパーだから、Windowsスクリプトについてはあまり知らない。 ポイントは私がインストールする必要がある1st.batをコピーするスクリプトだろうUSBから.batファイルをコピーして、スタートアップフォルダのスクリプトにコピーする - WinXP

  1. は、実際の「アプリ」でしょう
  2. :多数のコンピュータ上で起動アプリは、私は2つの.batファイルとUSBスティックを持っているしたいのですが私のUSBをWindowsのスタートアップフォルダにオフにしてください。

どうすればいいですか?

私のUSBの名前は "USB"で、私のスタートアップアプリケーションの名前は "startup.bat"です。 私はすでに言っているように、私はWindowsプログラミングでは非常に不満であり、鋭くそれを必要としています;)

ありがとうLOT!

答えて

3

次のスクリプトを試してください。これにより、現在のユーザーがログインするたびにアプリケーションが実行されます。管理者権限がなければ、一度にすべてのユーザーに対して実行することはできません。

@Echo Off 
CD /D %~dp0 
Set StartupFolder=%AppData%\Microsoft\Windows\Start Menu\Programs\Startup 
If Exist "%StartupFolder%" Goto :FoundStartup 
Set StartupFolder=%UserProfile%\Start Menu\Programs\Startup 
If Exist "%StartupFolder%" Goto :FoundStartup 
Echo Cannot find Startup folder. 
Exit /B 

:FoundStartup 
Copy "MyApp" "%StartupFolder%" 

各行は、次のん:

    スクリプトは、エンドユーザーへのクリーナー見えるように、エコーコマンドをオフにし
  1. このスクリプトがある場所に現在のディレクトリを設定します。
  2. Windows Vista以降では、スタートアップフォルダのパスを期待どおりに設定してください。
  3. このフォルダが存在する場合は、コピーする段階にジャンプします。
  4. Windows 2000以降では、スタートアップフォルダのパスを期待どおりに設定してください。
  5. このフォルダが存在する場合は、コピーする段階にジャンプします。
  6. Startupフォルダが見つからないことを報告します。
  7. バッチスクリプトを終了します。
     
  8. ジャンプできるラベル。
  9. "MyApp"を現在のフォルダ(USB)からStartupフォルダにコピーします。
+0

問題は - 私のドライブレターがDでない場合はどうですか?ありがとうございました... "CD USB"だけではできませんか?どうも! –

+0

ドライブ文字D:を使用していません。スクリプトが置かれているドライブ文字を使います。 '%〜0dp'は「このスクリプトのドライブとパス」のコードです。スクリプトが "E:\ MyInstaller \ Install.bat"の場合、 '%〜dp0'は" E:\ MyInstaller "です。 'Dir/D'は「ドライブとパスの変更」です。 –

+0

、起動アプリが.batの場合はどうなりますか?それは働くでしょうか? thx ...これはまだ動作しません:( –

0

これを試してみてください(実際のアプリが呼び出されたものでapp.batを置き換えてください)。これはWindows 2000以上で動作するはずです。

IF EXIST "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\*.*" COPY APP.BAT "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\" 
IF EXIST "C:\Documents and Settings\All Users\Start Menu\Programs\Startup\*.*" COPY APP.BAT "C:\Documents and Settings\All Users\Start Menu\Programs\Startup\" 
+0

ただしどこからコピーするか教えてください。 –

+0

、またはこれを私の "startup.bat"スクリプトに入れますか? –

+0

Vistaやそれ以上の保護された場所はありませんか? –

1

私はHand-E-Foodの答えにクレジットを入れたくありませんが、彼のコードがうまくいかず、答えが返ってこない理由を理解しました。 Copy行の変数%StartupFolder%を引用符で囲む代わりに、Set StartupFolderのパスの前後に引用符を使用してください。したがって、コードは次のようになります。

@Echo Off 
CD /D %~dp0 
Set StartupFolder="%AppData%\Microsoft\Windows\Start Menu\Programs\Startup" 
If Exist %StartupFolder% Goto :FoundStartup 
Set StartupFolder="%UserProfile%\Start Menu\Programs\Startup" 
If Exist %StartupFolder% Goto :FoundStartup 
Echo Cannot find Startup folder. 
Exit /B 

:FoundStartup 
Copy "MyApp" %StartupFolder% 

それはどちらか私のためにをやっていなかったので、私はこれを考え出した唯一の理由はあるので、私は%StartupFolder%の前後に引用符を削除しようと、それはそれを見つけることができませんでしたエラーメッセージが表示されました少なくとも私はそれが最後に何かをしていることを知っていた。一度フォルダの名前が最初のスペースに止まってしまったと思ったので間違ったフォルダを探していたら、単に引用符で囲んだものを追加しました!

+0

ありがとうございました! –

関連する問題