
No.1ベストアンサー
- 回答日時:
> VBSでフォルダの操作を行っています。
> フォルダ名にUnicodeが含まれる場合エラーが発生します。
> なんとか文字列を表示する事が出来ますでしょうか?
得意なジャンルではありませんので、アフターフォローは期待しないでください。
VBS自体をUnicodeで書いてみることで比較的簡単な解決になりませんでしょうか?
ファイルの読み書きをするならまた別の工夫が要る場合もあるかも知れませんけれど、、、。
ご質問の問題については、とりあえず手元の環境では解決できました。
テスト準備
新規のフォルダ作成。名前は仮に フォルダP
フォルダPに新規の(サブ)フォルダ作成。名前は ❶
フォルダ❶に新規のテキストファイル作成。(内容は適当)名前は ❶
フォルダPに新規のテキストファイル作成。名前は とりあえずそのまま。
【メモ帳】でこの↑未編集のテキストファイルを開き、
下記のスクリプトをコピペ。
[名前を付けて保存]ダイアログで
[ファイル名]名前は仮に Hoge.txt
[文字コード]をUnicodeに指定して
保存。
【メモ帳】を終了。
フォルダPのスクリプトを記入したテキストファイルHoge.txtの拡張子を.vbsに変更。
以上でUnicodeで書いたvbsファイルができます。
テスト実行
フォルダPHoge.vbsを実行
テスト結果
フォルダ名、ファイル名、共に"❶"の文字は拾えていて、
エラーなく、正しく表示されます。
Option Explicit
Rem On Error Resume Next
Dim objWshShell ' WshShell
Dim objFSO ' FileSystemObject
Dim objFolder ' FileSystemObject.Folder
Dim oSubFolder ' FileSystemObject.Folder
Dim oFile ' FileSystemObject.File
Dim sFolderName
Dim sSubFolderName
Dim sFileName
Set objWshShell = WScript.CreateObject("WScript.Shell")
sFolderName = objWshShell.CurRentDirectory
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sFolderName)
For Each oSubFolder In objFolder.SubFolders
sSubFolderName = oSubFolder.Name
WScript.Echo "フォルダ名", sFolderName & vblf & _
"サブフォルダ名", sSubFolderName
Rem MsgBox sSubFolderName
For Each oFile In oSubFolder.Files
sFileName = oFile.Name
WScript.Echo "ファイル名", sFileName
Rem MsgBox sFileName
Next
Next
Set objWshShell = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
No.2
- 回答日時:
Windows 7 しか手元にないので限定されてしまうかもしれませんが、
質問文にあるコードではエラーが出ず、正しく出力されました。
実際に黒背景に白抜きの 1 や、はしご高の高田などのフォルダーを作ってみましたが問題なくフォルダー名を出力できました。
実行環境は整理できていますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# VisualStudioのソースコードで漢字を使いたい 4 2022/05/21 10:16
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Excel(エクセル) VBAで、㉑という数値が、正しく、入力できない 2 2022/07/26 20:22
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 最新のフォルダ取得
-
Windows10でコマンドプロンプト...
-
VB.NRT FolderBrowserDialogを...
-
フォルダの検索2
-
VB.NETでツリービューにフォル...
-
VBプロジェクトでのフォルダ構...
-
エクセル VBA Filename:=Left(T...
-
フォルダを開く
-
フォルダの検索
-
ディレクトリ名変更してコピー...
-
ファイル名と同名のフォルダを...
-
【ExcelVBA】一覧表の記載に従...
-
【VBS】古い日付のフォルダを削...
-
VBA フォルダ名に特定の文字を...
-
Excelで指定したフォルダに保存...
-
フォルダにリンクを貼りたい
-
フォルダAから1つのファイルだ...
-
【VC++6.0(MFC)】適切なSHBrows...
-
VBA フォルダの複数選択ができない
-
SHBrowseforfolderについて質問...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報