こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

"C:\Windows" フォルダに「ミュージックのタスク」?

Windows XP Home Edition (SP1 適用済み) を使用しています。

Windows XP では、「マイミュージック」や「マイビデオ」フォルダを開くと、ウィンドウの左側に「ミュージックのタスク」や「ビデオのタスク」というのが表示されますよね。C ドライブのルートディレクトリや "C:\Windows" フォルダを開いたときには、「システムのタスク」が表示されてフォルダを非表示にしたりできるようです。

ところが私のパソコンでは、いつの間にか、"C:\Program Files" を開くと「画像のタスク」が、"C:\Windows" を開くと「ミュージックのタスク」が表示されるようになってしまいました。

C ドライブのルートディレクトリや、"C:\Windows\System32" を開いたときは、正しく「システムのタスク」が表示されています。

Windows での作業に支障をきたしているわけではないのですが、結構気になるので原因や解決法などわかる方はお教えください。

投稿日時 - 2003-03-26 16:04:17

QNo.507625

UKY

暇なときに回答ください

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

XPのバグのようです。
私のも時々起こります。

すべてのフォルダ設定を初期化しちゃえばいいんです
Σ(゜ё゜)!!

スタート→「マイコンピュータ」を開いて

「ツール」→「フォルダオプション」をクリック

「表示」タブをクリック
「全フォルダをリセット」をクリックします

私の場合は
スクリプトを自作して
異常になったフォルダだけ直しています。
ほしい(・ε・?

投稿日時 - 2003-03-26 22:52:13

お礼

おぉぉぉ! 直った!

まさかこんな方法で直るとは…… 私にとっては盲点でした。
一回もこの機能を使ったことが無かったもので、思いつきませんでした。教えてくださってありがとうございます。

ついでに、といってはなんですが……

> スクリプトを自作して
> 異常になったフォルダだけ直しています。

気になるのでよろしければそのスクリプトもお教えいただければと……

投稿日時 - 2003-03-27 10:35:00

このQ&Aは役に立ちましたか?

14人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>そのスクリプトもお教えいただければと……
拡張子はvbsです。
うまくいかないときは補足ください。

set WshShell = WScript.CreateObject("WScript.Shell")
set objArgs = WScript.Arguments

WScript.Echo "タスク名を変更したいフォルダを1つだけ開いてください"

dim StatusChk(1000)
dim flag,key1,key2
Dim Input
Dim FldrTyp(12)
FldrTyp(1)="Documents"
FldrTyp(2)="Pictures"
FldrTyp(3)="PhotoAlbum"
FldrTyp(4)="Music"
FldrTyp(5)="MusicArtist"
FldrTyp(6)="MusicAlbum"
FldrTyp(7)="Videos"
FldrTyp(8)="MyDocuments"
FldrTyp(9)="MyPictures"
FldrTyp(10)="MyMusic"
FldrTyp(11)="CommonDocuments"
FldrTyp(12)=""

Dim FldrName(12)
FldrName(1)="ファイルとフォルダのタスク"
FldrName(2)="画像のタスク"
FldrName(3)="画像のタスク(フォトアルバム)"
FldrName(4)="ミュージックのタスク"
FldrName(5)="ミュージックのタスク(アーティスト)"
FldrName(6)="ミュージックのタスク(アルバム)"
FldrName(7)="ビデオのタスク"
FldrName(8)="マイドキュメント"
FldrName(9)="マイピクチャ"
FldrName(10)="マイミュージック"
FldrName(11)="共有ドキュメント"
FldrName(12)="タスク名の削除"

key1="HKCU\Software\Microsoft\Windows\ShellNoRoam\Bags\"
key2="\Shell\Status"
flag=0
set Shell = CreateObject("Shell.Application")
set WindowsShell = Shell.Windows
pCnt = WindowsShell.Count
FldrPath =""

ItmNo = chckfldr()

WindowsShell.item( ItmNo ).Quit
Set obj = WshShell.Exec("explorer " & FldrPath )
do while pCnt <> WindowsShell.Count
WScript.Sleep 100
loop

ItmNo = chckfldr()

do while WindowsShell.item(ItmNo).Busy
WScript.Sleep 100
loop
'キーのBagsキーからステータスバーの状態を取得します。
On Error Resume Next

for i=1 to 1000
StatusChk(i) = WshShell.RegRead(key1 + Cstr(i) + key2)
if Err.Number<>0 then
StatusChk(i) = 0
Err.Clear
end if
next

WshShell.AppActivate obj.ProcessID
WScript.Sleep 100
WshShell.sendkeys "%vb"
WindowsShell.item(ItmNo).Navigate "shell:DriveFolder"

WScript.Sleep 1000

for i=1 to 1000
if StatusChk(i) <> WshShell.RegRead(key1 + Cstr(i) + key2) then
if Err.Number=0 then
flag=1
Exit For
end if
Err.Clear
end if
next
WshShell.AppActivate obj.ProcessID
WshShell.sendkeys "%vb"
WshShell.sendkeys "%{left}"

On Error GoTo 0
if flag=1 then
fname = WshShell.RegRead(key1 + Cstr(i) + "\Shell\FolderType")
if fname="" then
fname = "ありません"
else
fname = fname + " です"
end if
stra = ""
for j=1 to 12
stra = stra & Cstr(j) & " : " & FldrName(j) & vbCr
next
Input = InputBox(_
FldrPath +vbCr+ " の現在のタスクは " & fname +vbCr+vbCr+_
"下記の数字から選択してください。"+vbCr+_
"システムのタスクの場合は 12 を選択してください"+vbCr+_
stra,"数値を入力してください",1)

if Input>0 and Input<12 then
WshShell.RegWrite key1 + Cstr(i) + "\Shell\FolderType",FldrTyp(Input),"REG_SZ"
WScript.Echo(FldrName(Input)+" に変更しました。")
Elseif Input = 12 then
WshShell.RegWrite key1 + Cstr(i) + "\Shell\FolderType","","REG_SZ"
BtnCode = WshShell.Popup("削除しました。",2,"Windows Script Host",16)
else
BtnCode = WshShell.Popup("変更をキャンセルしました",2,"Windows Script Host",16)
end if
else
BtnCode = WshShell.Popup("変更を確認できませんでした",2,"Windows Script Host",16)
end if

function chckfldr()
for i=0 to pCnt-1
if TypeName(WindowsShell.item(i))<>"Nothing" then
FldrPath = WindowsShell.item(i).LocationURL
chckfldr = i
exit for
end if
next
end function

投稿日時 - 2003-03-28 02:30:01

お礼

またまたありがとうございます。
スクリプトは問題なく動いたようです。

やはりレジストリに関係があるとは予想しておりましたが、私もあまり慣れておらず、スクリプトでレジストリを自由に操る方を見ると本当に尊敬してしまいます。

投稿日時 - 2003-03-28 13:14:05

あなたにオススメの質問