トップ «前の日記(2010-07-06) 最新 次の日記(2010-07-08)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2010-07-07

_ 特殊なフォルダ

そういえば特殊なフォルダはScripting Runtimeの何かを使えば取れたなぁとMSDN見ながら試してみると、Program Filesが無いことに気付く。

#!/usr/local/bin/ruby -Ks
 
require 'win32ole'
 
ws = WIN32OLE.new('WScript.Shell')
%w|AllUsersDesktop 
   AllUsersStartMenu 
   AllUsersPrograms 
   AllUsersStartup 
   Desktop 
   Favorites 
   Fonts 
   MyDocuments 
   NetHood 
   PrintHood 
   Programs 
   Recent 
   SendTo 
   StartMenu 
   Startup 
   Templates|.each do |nm|
  puts "#{nm}=#{ws.specialFolders(nm)}"
end
 
fs = WIN32OLE.new('Scripting.FileSystemObject')
%w|WindowsFolder SystemFolder TemporaryFoler|.each_with_index do |nm, i|
  pn = fs.getSpecialFolder(i)
  puts "#{nm}=#{pn.path}"
end

testユーザが実行するとこんな感じ。

AllUsersDesktop=C:\Users\Public\Desktop
AllUsersStartMenu=C:\ProgramData\Microsoft\Windows\Start Menu
AllUsersPrograms=C:\ProgramData\Microsoft\Windows\Start Menu\Programs
AllUsersStartup=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Desktop=C:\Users\test\Desktop
Favorites=C:\Users\test\Favorites
Fonts=C:\Windows\Fonts
MyDocuments=C:\Users\test\Documents
NetHood=C:\Users\test\AppData\Roaming\Microsoft\Windows\Network Shortcuts
PrintHood=C:\Users\test\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
Programs=C:\Users\test\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Recent=C:\Users\test\AppData\Roaming\Microsoft\Windows\Recent
SendTo=C:\Users\test\AppData\Roaming\Microsoft\Windows\SendTo
StartMenu=C:\Users\test\AppData\Roaming\Microsoft\Windows\Start Menu
Startup=C:\Users\test\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Templates=C:\Users\test\AppData\Roaming\Microsoft\Windows\Templates
WindowsFolder=C:\Windows
SystemFolder=C:\Windows\System32
TemporaryFoler=C:\Users\test\AppData\Local\Temp
Program FilesはSHGetKnownFolderPathを使うしかないみたいだな。

2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|

ジェズイットを見習え