• 締切済み

FileSystemObjectでのパス名の取得

お世話になります。 VBScriptでフォルダ内のファイルコピーのスクリプトを作っているのですが、FileSystemObjectを使用してネットワーク共有してある日本語のフォルダ名(Getfolder)を取得すると文字化けして取得できません。 Dim fso,fo set fso = CreateObject("Scripting.FileSystemObject") set fo = fso.getfolder(フォルダパス) WScript.Echo fo.path <---フォルダのパスを表示 なにか解決する方法はありますでしょうか? ちなみに、ローカルドライブの日本語フォルダは正常に取得できました。

  • myiia
  • お礼率40% (2/5)

みんなの回答

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.1

( ・ω・)つ旦 ドゾー 運用 Windows管理者のためのWindows Script Host入門 第8回 WshNetworkオブジェクトの詳細 2.ネットワーク・ドライブの利用 http://www.atmarkit.co.jp/fwin2k/operation/wsh08/wsh08_02.html

myiia
質問者

お礼

お礼が遅くなって申し訳ありません。 回答ありがとうございました。 ネットワークドライブを使用して、ローカルドライブとしての取扱いはできることならば避けたいと思っています。 もう少し調べてみます。 お礼が遅くなりましたことを重ねてお詫びいたします。 ご回答ありがとうございました。

関連するQ&A

  • VBScriptで、任意のフォルダコレクションを取得するには?

    VBScriptについて質問します(マイナーですみません) 任意のフォルダコレクションを取得して、 そのフォルダ名を1つ1つ得たいんですが、 うまくいきません。 FileSystemObjectを作成して、 任意のフォルダ(MyFolder)を取得することはできました。 Set fso=CreateObject("Scripting.FileSystemObject") Set f=fso.GetFolder("C:/....../デスクトップ/MyFolder") いま、MyFolder の下に、複数のサブフォルダがあるとき、 サブフォルダのコレクションを取得して、 サブフォルダ名を1つ1つ得るには、 どうしたらいいのでしょうか? よろしくおねがいします。

  • VBSでテキストファイルを作成

    こんにちは。 set fso = createobject("Scripting.FileSystemObject") fso.createfolder("倉庫") を実行すると、実行したスクリプトが存在する場所に「倉庫」という名のフォルダが作成されます。 その倉庫というフォルダの中にテキストファイルを作成するにはどうすればよいでしょうか? set fso = createobject("Scripting.FileSystemObject") fso.createfolder("倉庫") set fo = fso.opentextfile(FILENAME) close.fo 相対的にファイルの場所を指定する方法がわかりません。 絶対パスでないとだめなのでしょうか?

  • スクリプトのフルパス取得したい

    言語知ってる人には簡単な話なんでしょうか そのスクリプトが動いているフルパスの取得の方法がわからず悩んでいます スクリプトは以下(最低ロジックのみ抜粋) var fso = new ActiveXObject("Scripting.FileSystemObject"); var topic = WScript.ScriptFullName + "\log"; <---ここをどうすればいいか不明 if(!fso.FolderExists(topic))   fso.CreateFolder(topic); 動作環境は Windows7(32ビット)上となります 目的 スクリプトが置いてあるフォルダにサブフォルダ(子フォルダ log)を作りたい

  • FileSystemObjectについて

    御観覧有難うございます。 基礎FSOなんですが、スパテクという本を買って、一から順に excelを学んでいるのですが、本の通りにやっても、 記述ミスになってしまうので、お聞きしたいんですけども、 記入して、ミスになるのは、 Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(ThisWorkbook.Path & "\" & ThisWorkbook.Name) MsgBox "最終更新日時=" & f.DateLastModified という文法の、Set f = fso.GetFile(ThisWorkbook.Path & "\" & ThisWorkbook.Name)の部分で¥マークの部分があやしい感じですが、 文法自体が記述ミスだそうで… excel2007なんですが、対応していて、本の通りにやって、 出来ない場合ってあるんでしょうか… ご回答よろしくお願いします。

  • VB4でエラーが出ます CreateObject Scripting.FileSystemObject

    VB6で Set fso = CreateObject("Scripting.FileSystemObject") と書いてうまく動いていたbasを VB4のプログラムに移植したところうまく動かないのですが、 どなたか分かりませんでしょうか?

  • FileSystemObject Win2008Server

    FileSystemObject Win2008Server 今までのWin2003ServerをWindows2008サーバーに更新しました。 Accessデータベース関係は今まで通り処理出来るのですが FileSystemObjectを使ったTextファイルからの読み込みや加工が 出来なくなりました。 VBScriptで社内DBを稼働させています。 サーバーや設定の事はあまり詳しくないのですが 何をチェックすればいいのか、ご指導お願いします。 (1)これはエラーになりません Set connectObj = Server.CreateObject("ADODB.Connection") ConnectObj.Open "xxx" 以下Accessの読み書き (2)この実行でエラーになります。 Set fso = Server.CreateObject("Scripting.FileSystemObject") set tso = fso.OpenTextFile(fp,1) この実行でエラーになります。 以下テキストファイルの処理 お手数ですが宜しくお願いします。

  • VBScriptでファイル検索

    こんにちは。 Dドライブのどこかにある「あいうえお.xls」ファイルのパス をメッセージ表示するようなスクリプトを作りましたが、上手 く表示されません。どこに不具合があるのか、ご教授ください。 お願いいたします。 Option Explicit Dim FSO,File,SubFolder Set FSO = CreateObject("Scripting.FileSystemObject") ShowSubfolders FSO.GetFolder("D:\") Sub ShowSubFolders(Folder) For Each File in Folder.Files If File.Name = "あいうえお.xls" then      Wscript.Echo File.path End If Next For Each Subfolder in Folder.SubFolders ShowSubFolders Subfolder Next Set FSO = Nothing End Sub

  • FileSystemObjectのGetFolderで取得できるファイルの並び順

    お世話になっております。 Access2002VBAを使用しております。 サンプルを以下に示します。 '------------------------ Set FS = CreateObject("Scripting.FileSystemObject") Set obF = FS.GetFolder(RD & ":\" & RP) Set colF = obF.Files For Each F In colF '各ファイルアクセス Next Set FS = Nothing Set obF = Nothing Set colF = Nothing Set F = Nothing '------------------------ 特定のフォルダ内の全ファイルをアクセスする プログラムを作成しております。 この際、ファイル名の昇順、もしくは作成年月日、更新年月日の昇順にファイルをアクセスしたいのですが、 FileSystemObjectを使用して、ファイルを順当に取得する 方法がわかりません。 もしそのような方法がなければ、 配列にファイル名、年月日を入れて、 擬似的に並べ替えをおこなうか、 作業用テーブルにファイル名、年月日を入れて、 order by で取得しなおして、順当にファイルアクセス とおもっております。 FileSystemObjectのGetFolderメソッドで 取得できるファイルは何の順番で取得されるのでしょうか。 また何れか、もしくはその他よい方法等がございましたら、 ご教授いただきたいと存じます。 よろしくお願いいたします。

  • エラー この変数は宣言されていません'WScript'

    こんばんは。HTMLやjavascriptは初心者ですが、よろしくお願いします。まず、こちらをご覧ください。 <HTML> <HEAD> <TITLE>Menu</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-- Option Explicit Public fso, indexPageTS, i Sub Start(ByRef i) Dim rootFolder, rootPath Set fso = CreateObject("Scripting.FileSystemObject") Set rootFolder = fso.GetParentFolderName(WScript.ScriptFullName) alert rootFolder.Name Set indexPageTS = fso.CreateTextFile(fso.BuildPath(rootFolder.Path, "index.html"), True) このように、<HEAD>にサブプロシージャを記述しております。少し中略します。<BODY>に以下のボタンを置きます。 <input type="button" name="InputBtn" onclick="Start(1)" value="リンクの更新"> これを押すとエラーになってしまいました。 IEでは「ページでエラーが発生しました」、htaEditというソフトで実行すると表題に掲げたエラーが出ました。6行目の、 Set rootFolder = fso.GetParentFolderName(WScript.ScriptFullName) のところをfso.GetFolderで手書きのパスを指定したらうまくいっていたので、'WScript'の使い方がいけないのかなとも思いましたが、VBSファイルにして実行すると問題ありませんでした。 htmlページのボタンではWScript.ScriptFullNameは使えないのでしょうか? IEのヴァージョンは少し古めで、5か6ですが、問題ありますでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • VB6でFileSystemObjectで読込

    Visual BasicV6でFileSystemObjectを(もし必要ならTextStream オブジェクトも)使って、テキストファイルを変数に読み込む実例を作っていただけませんでしょうか。 UTF-8コードのテキストファイルを読み込みたいのですが、当方、VB.NETは使えないし、MS社などのFileSystemObjectの使い方についての下記説明を見ても、どこで変数に入っていることが分からないため、お願いいたします。 Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("c:\testfile.txt", True) MyFile.WriteLine("This is a test.") MyFile.Close Visual BasicV6自体は十分使えますが、FileSystemObjectなどについては全く分かりません。よろしくお願いいたします。

専門家に質問してみよう