[#49241] dRuby IPv6 — masa <masap.hat@...>
スイスの畠山です。
6 messages
2013/03/01
[#49247] Ruby 1.9系 on Windows8 にて Kernel#gets でマルチバイト文字入力の不具合 — Takeshi Iogawa <alpha@246.ne.jp>
いおがわです。こんにちは。
4 messages
2013/03/02
[#49254] forループ内の変数のスコープに関して — 村上 友洋 <tomohiroz@...>
=1B$B=3Di$a$^$7$F!#=1B(B
5 messages
2013/03/06
[#49274] [ANN]「RubyKaja 2013」の応募受付を開始しました — Takeshi Yabe <tyabe.gm@...>
Ruby Kaja =E9=81=8B=E5=96=B6=E5=A7=94=E5=93=A1=E3=81=AE =E3=82=84=E3=81=B9=
4 messages
2013/03/12
[#49300] 例外を飛ばすThread内ではpassをしないとそのThreadはjoinできないことがある? — Isamu Mogi <dyob@...>
こんにちは。茂木と申します。
6 messages
2013/03/27
[#49301] Re: 例外を飛ばすThread内ではpassをしないとそのThreadはjoinできないことがある?
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/03/27
(3/27/13 8:51 AM), Isamu Mogi wrote:
[ruby-list:49295] Windowsでの波ダッシュファイル名の取得
From:
IZUMI HIROAKI <izumi@...>
Date:
2013-03-24 14:43:00 UTC
List:
ruby-list #49295
和泉と言います。
Windowsで、UNICODE文字のファイルを作成することができるのですが、
それをDirのインタフェースで取得するには、どうしたらよいのでしょうか?
たとえば、カレントフォルダに、波ダッシュ付きのファイル名を作成し、それ
を
取得するテストスクリプトを作成しました。
--- tp01.rb
fname="X\u301CZ.txt"
fp=open(fname,"w")
fp.close
p [fname, File.exist?(fname)]
Dir.foreach(".") {|n| p [n,n.encoding,File.exist?(n)] }
---
実行結果
---
["X\u301CZ.txt", true]
[".", #<Encoding:Windows-31J>, true]
["..", #<Encoding:Windows-31J>, true]
["X?Z.txt", #<Encoding:Windows-31J>, false]
(略)
---
実行環境は、Windows7 64bit版。rubyは、RubyInstallerで
インストールした
次のバージョンを使用しています。
ruby -v
ruby 2.0.0p0 (2013-02-24) [x64-mingw32]
エンコーディングの問題だとは思うのですが、解決策がさっぱりわかりません。
OLEを使うスクリプトも試してみました。
-- tp02.rb
require 'win32ole'
fso = WIN32OLE.new('Scripting.FileSystemObject')
f = fso.GetFolder('.')
sf = f.Files
sf.each {|ssf|
p [:ssfPath,ssf.Path,File.exist?(ssf.Path)]
}
-- 結果
[:ssfPath, "D:\\Testdir\\tp01.rb", true]
[:ssfPath, "D:\\Testdir\\tp02.rb", true]
[:ssfPath, "D:\\Testdir\\X?Z.txt", false]
(略)
--
機種依存文字がファイル名にあって、フォルダ一覧を取得するときに、"?"でな
く
そのままのコードを返す方法を教えてください。
以上
--
Hiroaki Izumi