• ベストアンサー

【WSH】存在しないフォルダの場合、「autoexec.bat」と「config.sys」が取得される

他の方の質問ですが http://okwave.jp/qa2149125.html このコードを実行してファイル名を取得する時に 存在しないフォルダを指定した時 「autoexec.bat」と「config.sys」が取得されます。 これは私だけですか? ちなみにアクセス2003で試しています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

MyPath = WSH.SpecialFolders("MyDocuments") の"MyDocuments"に、存在しないフォルダーを指定という意味でしょうか? これは、環境、ユーザーにより異なる、MyDocumentsのフルパスを取得する方法なので、ここに任意のフォルダー名を入れた場合、 Debug.Print "MyPath:", MyPath で確認すると、空文字列になっていると思います。 したがって、 MyFileName = Dir("\" & "*.*") が実行され、Cドライブ直下のファイルが表示されるのだと思います。 http://www.happy2-island.com/vbs/cafe02/capter00106.shtml

chdyet
質問者

お礼

説明不足ですいません。 MyDocumentsはあるのですが「d:\○○」と言うファイルがない場合があります。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 >http://okwave.jp/qa2149125.html まず、WSH というのは、WScript Host のことで、VBAで使うものは、VBAのコードではありません。 CreateObject で生成されるものを、オートメーション・オブジェクトと呼んでいます。 >存在しないフォルダを指定した時 WshShellのSpecialFoldersのオブジェクトはコレクションで、その引数は組み込み定数/Indexがあります。使用できない場合は、「""」(長さ0の文字列または空文字--Helpには書かれていません) が返されます。 例えば、Window XP の場合は、元のコードで、WSH.SpecialFolders(17)でも可能です。言い換えると、それ以外のものを入れても、「""」が返されて、その使用する親ディレクトリしか取得できません。 詳しくは、ここをお読みください。 http://msdn.microsoft.com/ja-jp/library/cc364490.aspx

chdyet
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

例えば http://www.moug.net/tech/acvba/0090003.htmの中ごろの記述 >データベースがあった場合は、「ProjectA.mdb」がメッセージボックスに表示され、なかった場合は長さ0の文字列が返されるのでメッセージボックスには何も表示されません。 従ってその結果の""と文字列¥を結合している場合は、¥だけ残り先頭に来ます。 ーー コマンドプロンプト画面で Dir \ と入れると、 「c:\のデレクトリ」としてまず表示され、次行以下にフォルダ名、ファイル名が出てきます。これは人(パソコン)によって出てくるものは当然違います。 ドライブ名の後の最初の¥(英語ではバックシュラッシュ)はルートディレクトリをさします。この考えがUNIXなどの勉強では強調された記憶がありますが、 http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA 参考 ウンドウズでは、ファイル選択のダイアロウグ画面でほとんど用が足り、エクセルやアクセスの解説書では、説明が省略されているように思う。だから疑問に思うのでしょう。

chdyet
質問者

お礼

よく読んでみます。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Config.sysとAutoexec.batが表示されません

    Config.sysとAutoexec.batがWindowsXP上で表示されません。 隠しファイルは表示するようにフォルダオプションで設定しています。 コマンドプロンプトでdirを実行すると確かに存在するのですが・・・。 OSのバグでしょうか? セキュリティ系のソフトは特にインストールしていません。

  • Autoexec.batとconfig.sysの中身をホームページに公開すると違法ですか?

    DOS等のファイル、「Autoexec.bat」と「Config.sys」ファイルの中身を自分の個人(趣味の)ホームページに載せたいと思います。 このようなファイルの中身を公開したら、著作権侵害になりますでしょうか? 実はこの質問サイトに質問した際、一度『Autoexec.batとconfig.sys』の内容を載せたことがあります。 http://oshiete1.goo.ne.jp/qa3676909.html (↑No.1様の補足欄に公開しました。) やはり、このようなファイルを公開してはまずいでしょうか? よろしくお願いします。

  • config.sysとautoexec.batの書き換え

     はじめまして。CD-ROMが起動しなくて困っています。 先日カスタムのPCを買い、OSにWin98をインストールしました。98の中にCDのドライバが入っているにもかかわらず、購入した時に付属してあった CDのドライバをインストールしてしまい、CD-ROMが動かなくなってしまいました。店に聞くとconfig.sysとautoexec.batの内容設定を書きかえれば直る、と言われたのですが、本を読んだりしてもどこをどう書き換えて何をすればよいのかさっぱりわかりません。 どなたかサルでもわかるように教えて頂けないでしょうか? 多忙かとは思いますがよろしくお願いします。

  • WindowsXPとAUTOEXEC.BATやCO

    WindowsXPとAUTOEXEC.BATやCONFIG,SYS  何時も回答いただきありがとうございます。  WindowsXPでは、  MS-DOSモードやMS-DOSプロンプト 16ビットプログラム  など、無いのに、なぜ、 ルートディレクトリーに  AUTOEXEC.BATやCONFIG,SYS が、あるのでしょうか?   AUTOEXEC.BATやCONFIG,SYS は、16ビットプログラム専用に使用するものでは、無いのでしょうか?   AUTOEXEC.BATやCONFIG,SYS のファイルの中身は、何も書かれていません。  たとえ、ひとつだけでも、お知りのことがありましたら、教授方よろしくお願いします。  敬具

  • Autoexec.batをXMSメモリへ

    LanManagerのNETBEUIとTCP/IPを使うためEMSを確保したいのですが どうしてもEMSメモリでは少なすぎるのでAutoexec.batの内容を XMSメモリにいれる方法はないでしょうか? ちなみにConfig.sysの内容はほとんどXMSのほうに入れるようにしました。 ご回答よろしくお願いします。

  • 「ファイル名を指定して実行」で見に行くディレクトリとautoexec.bat

    Windows98SEです。 スタート→ファイル名を指定して実行 で、例えば、notepadと入力すると、メモ帳が立ちあがりますよね。 ディレクトリを指定しなくても実行できるということは、見にいくディレクトリの設定がどこかでされているのだと思いますが、どこでされているのでしょうか。 過去の質問と回答(下記)によると、 「コマンドプロンプトでpathと入力したとき表示されるのが、コマンドプロンプトでカレントディレクトリを移動しなくても見に行くフォルダ」 なのだそうです。 そしてそれは、c:\Autoexec.batの中の PATH=......... で設定されているのだそうです。 私が思うのは、「ファイル名を指定して実行」のときもそれがきいているんじゃないかなあ、ということです。 私のPCでは、コマンドプロンプトでpathと入力すると、 PATH=C:\WINDOWS;C:\WINDOWS\COMMAND と表示されます。 C:\WINDOWSにはnotepadがあります。それはそれでいいのです。 でも、よくわからないのは、私のPCの c:\Autoexec.bat には、 PATH=.... というのがないのです。そのファイルには、 loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys と書いてあります。(これですべて) これでいいのでしょうか。 それとも、「ファイル名を指定して実行」の場合は、 c:\Autoexec.bat は関係ないのでしょうか。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=6175

  • 英語版MS-DOS6でのSwitch

    以前、英語MS-DOS6.2でswitchができないかと質問させていただきました。 HSBというフリーウェアとconfig.sys/autoexec.batのcopy等等の組み合わせで バッチファイルを組めばいいとの回答をいただいたのですが.... copy -y c:\back\config.sys c:\config.sys copy -y c:\back\autoexec.bat c:\autoexec.bat c:\back\hsb\hsb.exe というようなバッチを組むと、3行目を実行してくれません。  いろいろ試したのですが、config.sysとautoexec.bat のコピーは正常に終了しているのですが、 それ以降を実行してくれないようです。  単に copy -y c:\back\config.sys c:\config.sys copy -y c:\back\autoexec.bat c:\autoexec.bat ren c:\test.txt c:\test2.txt ってやっても3行目は実施してくれません。 config.sysやautoexec.batのコピーってなにか特別な扱いになってるのでしょうか??

  • TOMCATインストールとAUTOEXEC.BAT

    J2SEとtomcatのインストールについて教えて頂きたいのですが <手順> 1.J2SE1.4.1をインストール。 2.環境変数をautoexec.batに追加。 3.Tomcat4.1.24(binaries)をインストール。 4.環境変数をautoexec.batに追加。 <質問> A.手順2と4の「環境変数をautoexec.batに追加」する時の 書き方を教えて下さい。 B.また、TOMCAT_HOME\bin\startup.bat もエディタで開いて、 何かを追加しないといけないんでしょうか? それとも、autoexec.batに追加するだけでいいんでしょうか? C.autoexec.batが以下のように2つ存在するのですが、 どちらに追加すればいいのでしょうか? ・C:\AUTOEXEC.BAT ・C:\WINDOWS\COMMAND\EBD\AUTOEXEC.BAT OSはWinMeです。 ※環境変数をシステム設定ユーティリティから設定せずに、 autoexec.batを直接編集しようとしてる理由↓ システム設定ユーティリティから、PATHに「%JAVA_HOME%\bin;」を追加しようとすると 「環境変数を置き換えることは出来ません。(”%”は1つしか使用できません)」 というエラーが出て、追加できない為です。 「C:\j2sdk1.4.0\bin」だと追加できるんですが。

    • ベストアンサー
    • Java
  • DOSのAUTOEXEC.BATの書き方、等

    既にGhost2003の一枚のFDDを使って、OSのGhostイメージを作っていますが、Ghost2003はSATAに対応できなくて、Ghost8.2に切り替わった。Ghost8.2のghost.exeは、1,366KBもあり、一枚のFDDも収めなくなった。 添付の図: http://www.wacom-ap.com/ghost1.png 赤い枠:Ghost2003の一枚のFDDのファイルリスト 青い枠:Ghost8.2のghost.exe、1,366KB 以下はGhost2003の一枚のFDDの中のAUTOEXEC.BATの内容。 @echo off SET TZ=GHO-09:00 MOUSE.COM echo Loading... CD GHOST GHOST.EXE FDD二枚使う場合(一枚目はGHOSTフォルダ以外の全てと新しいAUTOEXEC.BATファイル、二枚目はGhost8.2のghost.exe、1,366KB)、このAUTOEXEC.BATの内容はどう書き換えれば宜しいでしょうか? 本当に分からないから、その新しいAUTOEXEC.BATの内容の全文を教えていただければ有り難いですが。 更に、新しいできたGhost8.2の二枚セットのFDDに基づいてBootable CDを作る時に、一枚目のFDDのAUTOEXEC.BATの内容はどうなりますか?(全文がほしい)(二枚目FDDのGhost8.2のghost.exeは、CDの本内容になります)

  • Config.sys/Autoexec.batシステム設定の変更

    皆様いつもありがとうございます。 掲題の件、変更後、メモリ不足および不正終了が出るようになりました。下記が変更後なのですが、どこがおかしいか見ていただけないでしょうか。よろしくお願い致します。(ウィン98セカンドです) Config.sys (チェック有り)device=c:\windows\himem.sys (チェックなし+鉛筆マークあり)rem device=c:\windows\EMM386.EXE NOEMS (チェックなし+ウィンドウズマークあり)device=c:\windows\himem.sys (チェック有り+鉛筆マークあり)device=c:\windows\EMM386.EXE RAM (チェック有り)devicehigh=c:\windows\biling.sys (チェック有り)devicehigh=c:\windows\jfont.sys /p=c:\windows (チェック有り)devicehigh=c:\windows\jdisp.sys (チェック有り)devicehigh=c:\windows\jkeyb.sys /106 c:\windows\jkeybrd.sys (チェック有り)devicehigh=c:\windows\kkcfunc.sys devicehigh=c:\windows\COMMAND\ansi.sys (チェックなし)DEVICEHIGH=C:\WINDOWS\COMMAND\DRVSPACE.SYS /MOVE (チェックなし)dos=HIGH,UMB (チェックなし)SHELL=C:\DOS\COMMAND.COM /P /E:1500 Autoexec.bat (チェック有り)PATH=C:\JUST\JSLIB32;C:\BC4Q\BIN (チェック有り)@ECHO OFF (チェック有り)loadhigh c:\windows\command\nlsfunc.exe c:\windows\country.sys (チェックとウィンドウズマーク有り)PROMPT $P$G (一行空き) (チェックなし)REM For ASSUMS Environment PATH C:\Program Files\ASSUM\W95;%path% (一行空き) (チェックなし)REM For ASSUMS Environment PATH C:\ASSUM\W95;%path%

このQ&Aのポイント
  • エプソンep-707aプリンターでハガキを印刷する際に紙詰まりのエラーが頻繁に発生し、印刷ができない問題について解決方法を教えてください。
  • エプソンep-707aプリンターでハガキを印刷しようとすると紙詰まりのエラーが表示され、解除しても再度エラーが出る場合の対処法を教えてください。
  • エプソンep-707aプリンターのハガキ印刷中に紙詰まりのエラーが頻発し、紙詰まりを解除しても同じエラーが再発する場合の対策方法について教えてください。
回答を見る

専門家に質問してみよう