重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

USBにbatファイルを入れると私の場合 F:ドライブになります。
USBファイルにバッチファイルを入れ実行すると 最後F:¥で終わります。

それを最後を 例えばC:\ とかで終わりたい

すみませんが教えてください

A 回答 (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での起動パス取得は、簡単にできるので、あくまでも、ちなみにです。
    • good
    • 0
この回答へのお礼

いりいろ本当に有り難うございました
頭痛くなりました
いっぱい出来るのですね
何度も何度も100回以上作成して試しました
回答者様の記述が参考になりました

いまからも勉強していきますので
どうしても help 欲しかったらおねがいしますね

本当にありがとうございました

でも バッチファイルって面白いですね

お礼日時:2013/10/30 17:20

>F:¥>


>で終わってしまいます

つまりBATファイルの実行が終了した時に、BAT起動カレントフォルーダーのままになってしまう。と言う現象ですね。

これは昔からある問題です。いくつかのやり方があり、シナリオ(操作手順や、ポリシー、ロジック)によっては、いろいろ使い分ければいいだけのこと。

>c:
>cd ¥sample

これは

cd /d c:\sample

でいいです。Windows2000以降だったと思うDオプションが付いたのは? もちろんNo3さんが示したpushud でもかまわない。

次に、

http://www.geocities.jp/is3000nx/reading/tip/mis …

を見ればわかるが、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以降でのコマンドプロンプトで確認しているので、それより低いバージョンの物は、自分で確認を。そうなんです、スクリプト言語もプログラム言語も、それが動作するプラットフォームを記述しないと正確な動作は述べる事はできない。

上記以外でも対処法があると思いますが、とりあえずこんな所です。

上記で、できない場合、違う要因なので、詳細に環境記載と、正確なスクリプト内容と、どのように実行しているのか、何をしているのか記載しないと解決しません。
    • good
    • 0
この回答へのお礼

>つまりBATファイルの実行が終了した時に、BAT起動カレントフォルーダーのままになってしまう。と言う現象ですね。

その通りです

cd /d c:\sample
でUSBホルダーは抜けました
その後に
cmd
を入れると DOS画面で 止まります
C:\sample で止まります

cmdでなく c:\windows\explorer と書いたら
エクスプローラーが起動して いい具合になったのですが
カレントフォルダーが マイドキュメントになります

でも 素晴らしい進歩です
すごく勉強になりました

これ きりがないですね 
いりいろ有り難うございました



cd /d c:\sample
call c:\windows\explorer

お礼日時:2013/10/30 17:13

その.batファイルの内容を修正できる,という状況であるなら。



.batファイル内で用いているドライブ移動コマンド(F:など)や cdコマンド(chdirコマンド) を pushdコマンドに置き換え,.batファイルの最後でpopdコマンドを実行して元のフォルダに復帰する。

もし,リンク先の解説を読んでもその活用法がピンとこない初心者の方でしたら,下手に手を出さない方が安心なように思います。上記では「.batファイルの最後で」と書きましたが,最後に1回のpopdで正しいかどうか.batファイルの内容次第ですから。
http://www.atmarkit.co.jp/fwin2k/win2ktips/792pu …
    • good
    • 0
この回答へのお礼

batファイルの内容は修正できます

cd や pushcd など入れましたが なかなかです

参考になりました
ありがとうございます

お礼日時:2013/10/30 17:14

どうにもモヤッとした内容で詳細は不明だが・・・



取りあえずバッチファイルの最後に、カレントドライブをCに戻す1行を入れれば良いんで無いのか?

「C:」てな感じで
    • good
    • 0
この回答へのお礼

説明不足でごめんなさい
USBを挿入するとカレントドライブはUSBを挿入したドライブになりますよね( %0 などで判りますが)

USBに入れたbatファイルを実行します。
そうするとアドレスはやっぱり 私の場合 F:¥ のままです
これを C: ドライブにして終わらせたい

回答者様の言うようにbat ファイルの最後に C: とか PUSH C:
とか書いても 変化ありません

回答有難うございました

お礼日時:2013/10/30 12:20

何をいっているのか?・・ さっぱり。



>バッチファイルを入れ実行すると 最後F:¥で終わります。

Fでおわるんだね。それは、わかった。


>最後を 例えばC:\ とかで終わりた

で、何がC¥でおわりたいんだい??? 何が、どうした。と言う主語、述語形式で書きましょう。

何をしているのか、わからないと、誰もどうすればC:\で終わるのかわかりません。他人にわかるように説明する所から始めましょう。とりあえず、

「USBにbatファイルを入れると私の場合」

このファイルの中身を公開しないと何をしているのか、誰にもわかりません。それとも以前、同じ内容で投稿したのかな?
    • good
    • 0
この回答へのお礼

お手間をかけて申し訳ありません
以前に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:¥>
で終わってしまいます

文章下手ですみません

お礼日時:2013/10/30 11:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!