- ベストアンサー
batファイルUSBで始まってC:で終わりたい
USBにbatファイルを入れると私の場合 F:ドライブになります。 USBファイルにバッチファイルを入れ実行すると 最後F:¥で終わります。 それを最後を 例えばC:\ とかで終わりたい すみませんが教えてください
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No4ですが、ちなみにですが、 wmic logicaldisk where (VolumeName='[ボリュームネーム]') get DeviceID,VolumeName,DriveType,VolumeSerialNumber /format:list とするとドライブレターが取得できます。ボリューム名を付けておけばの話です。wmic は、初めて実行する時はインストールを始めます。とでてきます。これは環境を整えるだけで、元々XP以降は設置されています。 他にも、 >echo list volum> a.txt >diskpart /s a.txt で取得可能。いずれも”管理者で実行”モードで実行する必要があります。ショートカットをUSBドライブに作っておき、Autorun.inf 等に登録するだけ まあ、BATでの起動パス取得は、簡単にできるので、あくまでも、ちなみにです。
その他の回答 (4)
- lupin-333333
- ベストアンサー率31% (294/933)
>F:¥> >で終わってしまいます つまりBATファイルの実行が終了した時に、BAT起動カレントフォルーダーのままになってしまう。と言う現象ですね。 これは昔からある問題です。いくつかのやり方があり、シナリオ(操作手順や、ポリシー、ロジック)によっては、いろいろ使い分ければいいだけのこと。 >c: >cd ¥sample これは cd /d c:\sample でいいです。Windows2000以降だったと思うDオプションが付いたのは? もちろんNo3さんが示したpushud でもかまわない。 次に、 http://www.geocities.jp/is3000nx/reading/tip/misc.html を見ればわかるが、setlocal , endlocal をセットしまうと、endlocalで元の環境に戻されてしまうので、投稿の現象と同じになる。このサイトの記事は古いので、話半分に見てください。 対処法は、当然、endlocal の外、つまり、その行の次の行にcd を行えばいいことになる。 endlocalの前で行うには、あらたにCMDを起動するだけでいい。これだと、前述のsetlocal , endlocal問題でなくても、回避可能。 例: --------- - MyCD.bat - ----------------------------- @echo off setlocal rem kオプションで元に戻らない。exit とすると、元のフォルダーに戻る(元の環境に戻る)。 cmd /k cd /d c:\sample rem start コマンドを使う方法。CMDと同じ。違いは、UNIX系のシェルでの rem バックグランド実行(&)と同じ事ができる。start /? で確認を。 start /b cd /d c:\sample & exit rem 最初の物を分解しただけ。これでも目的は達成する cd /d c:\sample cmd rem これで c:\sample 配下を表示したエクスプローラーが起動してくる。 rem 素人のファイルやフォルダー処理、実行といった処理はこちらがいいでしょう。 start c:\sample endlocal ----------------------------------------------- これらは、XP以降でのコマンドプロンプトで確認しているので、それより低いバージョンの物は、自分で確認を。そうなんです、スクリプト言語もプログラム言語も、それが動作するプラットフォームを記述しないと正確な動作は述べる事はできない。 上記以外でも対処法があると思いますが、とりあえずこんな所です。 上記で、できない場合、違う要因なので、詳細に環境記載と、正確なスクリプト内容と、どのように実行しているのか、何をしているのか記載しないと解決しません。
お礼
>つまりBATファイルの実行が終了した時に、BAT起動カレントフォルーダーのままになってしまう。と言う現象ですね。 その通りです cd /d c:\sample でUSBホルダーは抜けました その後に cmd を入れると DOS画面で 止まります C:\sample で止まります cmdでなく c:\windows\explorer と書いたら エクスプローラーが起動して いい具合になったのですが カレントフォルダーが マイドキュメントになります でも 素晴らしい進歩です すごく勉強になりました これ きりがないですね いりいろ有り難うございました cd /d c:\sample call c:\windows\explorer
- jjon-com
- ベストアンサー率61% (1599/2592)
その.batファイルの内容を修正できる,という状況であるなら。 .batファイル内で用いているドライブ移動コマンド(F:など)や cdコマンド(chdirコマンド) を pushdコマンドに置き換え,.batファイルの最後でpopdコマンドを実行して元のフォルダに復帰する。 もし,リンク先の解説を読んでもその活用法がピンとこない初心者の方でしたら,下手に手を出さない方が安心なように思います。上記では「.batファイルの最後で」と書きましたが,最後に1回のpopdで正しいかどうか.batファイルの内容次第ですから。 http://www.atmarkit.co.jp/fwin2k/win2ktips/792pushd/pushd.html
お礼
batファイルの内容は修正できます cd や pushcd など入れましたが なかなかです 参考になりました ありがとうございます
- trajaa
- ベストアンサー率22% (2662/11921)
どうにもモヤッとした内容で詳細は不明だが・・・ 取りあえずバッチファイルの最後に、カレントドライブをCに戻す1行を入れれば良いんで無いのか? 「C:」てな感じで
お礼
説明不足でごめんなさい USBを挿入するとカレントドライブはUSBを挿入したドライブになりますよね( %0 などで判りますが) USBに入れたbatファイルを実行します。 そうするとアドレスはやっぱり 私の場合 F:¥ のままです これを C: ドライブにして終わらせたい 回答者様の言うようにbat ファイルの最後に C: とか PUSH C: とか書いても 変化ありません 回答有難うございました
- lupin-333333
- ベストアンサー率31% (294/933)
何をいっているのか?・・ さっぱり。 >バッチファイルを入れ実行すると 最後F:¥で終わります。 Fでおわるんだね。それは、わかった。 >最後を 例えばC:\ とかで終わりた で、何がC¥でおわりたいんだい??? 何が、どうした。と言う主語、述語形式で書きましょう。 何をしているのか、わからないと、誰もどうすればC:\で終わるのかわかりません。他人にわかるように説明する所から始めましょう。とりあえず、 「USBにbatファイルを入れると私の場合」 このファイルの中身を公開しないと何をしているのか、誰にもわかりません。それとも以前、同じ内容で投稿したのかな?
お礼
お手間をかけて申し訳ありません 以前にbatファイルの件は投稿しましたが全く別の件です。 遠隔地にいる全くPC素人の親族のPCをサポートしたいのです。 必要なファイルをUSBに入れそれを送り、 batファイル同梱してそれを起動してもらう事で、 相手のPCに ディレクトリーを作り そこに必要なファイルをコピーして最後電話で少し相手に処理してもらおうと思います。 相手はディレクトリー移動とかエクスプローラとかファイル構造を知らないので カレントドライブを 処理するドライブにしておきたいのです --------------------------------------- USBを送り相手がPCにそのUSBを挿入すると カレントドライブはUSBを差したF:¥とかになります。 例えば abc.datというファイルをC:¥sample というホルダーを作成してそこに入れたいとします。 batファイルは md C:¥sample copy abc.dat c:¥sample c: cd ¥sample これではカレントドライブがUSBドライブのF:¥になってしまいます pushd も使ってみましたが同じです 要は 最後に相手はドライブ変更などしなくてもカレントドライブにabc.datがあって欲しいのです 即ち c:¥sample> にカーソルが来ていて欲しいのですが F:¥> で終わってしまいます 文章下手ですみません
お礼
いりいろ本当に有り難うございました 頭痛くなりました いっぱい出来るのですね 何度も何度も100回以上作成して試しました 回答者様の記述が参考になりました いまからも勉強していきますので どうしても help 欲しかったらおねがいしますね 本当にありがとうございました でも バッチファイルって面白いですね