【デフラグ】 Contigat SOFTWARE
【デフラグ】 Contig - 暇つぶし2ch542:名無しさん@お腹いっぱい。
07/01/23 05:49:21 Wrm6Td2Q0
' "Contig.vbs"
' "Contig_dir.bat","Contig_file.bat"をContig.exeと同一ディレクトリに置く。
Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set arg = WScript.Arguments
If arg.length<>0 Then
fpath = arg(0)
If fso.FileExists(fpath) Then
bat = "<Contig_Dir_Path>\Contig_file.bat "
Else
bat = "<Contig_Dir_Path>\Contig_dir.bat "
End If
WshShell.Run bat & """" & fpath & """"
End If

' ※<Contig_Dir_Path>←Contig.exeのディレクトリパス※
----------------------------------------------------
@echo off
rem "Contig_dir.bat"
rem ドライブ 又は ディレクトリ を Contig -s (サブディレクトリを含)
echo Contig -q -s %1\*
cd /d <Contig_Dir_Path>
cmd /k Contig.exe -q -s %1\*
echo.
----------------------------------------------------
@echo off
rem "Contig_file.bat"
rem 単一ファイル を Contig -v (詳細表示)
echo Contig -v %1
cd /d <Contig_Dir_Path>
cmd /k Contig.exe -v %1
echo.

543:名無しさん@お腹いっぱい。
07/01/23 06:09:50 CGGyrOUJ0
>>534
>>25は不具合のあるバージョンだから出来ない
対策されてる>>498のバージョンなら出来る

544:名無しさん@お腹いっぱい。
07/01/23 09:05:21 cU5uka800
ありが㌧!

545:名無しさん@お腹いっぱい。
07/01/29 23:13:21 zwB1hKOE0
>>543

PowerDefragでできるのは、指定したディレクトリの中のディレクトリとファイルを
デフラグすること。

指定したディレクトリとその中のディレクトリのみをデフラグするには、>>526-527の方法を
使うしかなさそう。

546:名無しさん@お腹いっぱい。
07/01/29 23:19:18 k6nCQoBAO
不勉強で申し訳ないけど、そもそもディレクトリ自体にフラグメントって発生するものなの?

547:名無しさん@お腹いっぱい。
07/01/29 23:23:19 +R0scFpQ0
するよ

548:名無しさん@お腹いっぱい。
07/01/29 23:43:08 k6nCQoBAO
そうなんだ。4096バイト(だっけ?)以上のファイルしか発生しないもんだと思い込んでたよ。

549:名無しさん@お腹いっぱい。
07/01/30 01:17:05 Rt4bFMEB0
ディレクトリ用の領域にはサブディレクトリやファイルの情報が入ってるから
ファイルが増えれば領域足りなくなって領域追加→フラグメント
ってなる

550:名無しさん@お腹いっぱい。
07/01/31 08:35:51 fwK7qca90
ディレクトリもファイルとして実装されてるからな

551:名無しさん@お腹いっぱい。
07/02/05 18:40:02 4cH2V3U+0
誰もいなくなった

552:名無しさん@お腹いっぱい。
07/02/06 17:45:34 l1oKMYPk0
'指定パス以下の64MB未満のファイルのリストを作り、list.txtに格納するVBスクリプト。
'パラメータにパスを指定して使う。ただし、ドライブルートを指定すると不具合が出るかもしれない。
'使用者の自己責任で使用してください。

Set args = WScript.Arguments
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Set listfile = Fs.CreateTextFile("list.txt",True)
path = args(0)
If Fs.FolderExists(path) Then
Call RecursibleSearch(path)
Else
MsgBox "このパスは実在しません。"
WScript.Quit
End If
listfile.close
MsgBox "Finished creating list.txt"
Sub RecursibleSearch(folderspec)
Set fol = Fs.GetFolder(folderspec)
Set flc = fol.Files
For Each fl1 in flc
If fl1.Size<67108864 Then
listfile.WriteLine fl1.Path
End If
Next
Set sfc = fol.SubFolders
For Each sf1 in sfc
Call RecursibleSearch(sf1.Path)
Next
End Sub

553:名無しさん@お腹いっぱい。
07/02/07 05:34:01 PcFw2WIM0
>>552
各命令が何をやってるのか書いてもらえるとうれしいです。


554:名無しさん@お腹いっぱい。
07/02/07 15:24:33 vbKfejhE0
Set args = WScript.Arguments 'パラメータ取得のための準備
Set Fs = WScript.CreateObject("Scripting.FileSystemObject") 'Fsにファイルシステムオブジェクトを代入
Set listfile = Fs.CreateTextFile("list.txt",True) '結果を出力するためのテキストファイルを作成
path = args(0) 'パラメータを取得し、pathに格納
If Fs.FolderExists(path) Then 'もしもpathにフォルダーが存在するならば
Call RecursibleSearch(path) '検索機能を呼び出し
Else 'pathにフォルダーが存在しないならば
MsgBox "このパスは実在しません。" 'メッセージを表示して
WScript.Quit '終了
End If '(フォルダーの存在確認終了)
listfile.close 'ファイルハンドルlistfileを閉じる
MsgBox "Finished creating list.txt" '終了メッセージ
Sub RecursibleSearch(folderspec) '検索機能の定義
Set fol = Fs.GetFolder(folderspec) 'フォルダーを取得し、folに代入
Set flc = fol.Files 'フォルダー内のファイル群を取得
For Each fl1 in flc 'ファイル群のそれぞれのファイルについて
If fl1.Size<67108864 Then 'サイズが64MB未満ならば
listfile.WriteLine fl1.Path 'ファイルのパスをlistfileに書き出し
End If '(ファイル群処理の終了)
Next '(次のファイルへ)
Set sfc = fol.SubFolders 'フォルダー内の下位フォルダー群を取得
For Each sf1 in sfc '下位フォルダー群のそれぞれについて
Call RecursibleSearch(sf1.Path) '検索機能を再帰呼び出し
Next '(下位フォルダー群処理の終了)
End Sub '(検索機能の定義の終了)

555:名無しさん@お腹いっぱい。
07/02/08 10:25:45 4uyds55H0
>>554
>If Fs.FolderExists(path) Then 'もしもpathにフォルダーが存在するならば
ここは
もしpathがフォルダとして存在するならば
じゃないの?

556:名無しさん@お腹いっぱい。
07/02/08 12:12:44 DWAJDBsI0
>>555

うむ。

557:名無しさん@お腹いっぱい。
07/02/15 08:10:01 s45xaaFa0
保守

558:名無しさん@お腹いっぱい。
07/02/16 06:03:03 6NvRP4uI0
前にwin2000で動かしたときはかなり断片化を解消してくれたんだが
winXPに変えて起動してみたら全然解消してくれない。
動作自体はしていて出力されたログが若干前とちがうんだよなぁ・・以下ログ(概要)

Summary:
Number of files processed : 22722
Number of files defragmented: 2
Average fragmentation before: 1.00066 frags/file
Average fragmentation after : 1 frags/file

あ、あとPowerDefragmenterGUI使ってやると動作終了後に何故か標準デフラグのレポートがCUIで
表示される。
前使って良いツールだったんで是非また使いたいので、良い知識があれば頼む。

559:558
07/02/16 06:11:01 6NvRP4uI0
環境を書いていなかったので書いておく。

OS:windowsXP Pro SP2
HDD:160G*2(RAID0)
Contig Version:1.53
PowerDefragmenterGUI Version:2.0.125

追記になるが、断片化ファイルのスキャンのみを行って実際に断片化を解消する動作を
していない感じだ。


560:588
07/02/16 06:28:30 6NvRP4uI0
連投スマソ。
上記のログはcontig単体で動かすと普通の挙動だなorz
んでさらに分かったことがOSが入ってるパーティション以外なら正常に動作する・・・
RAID0だからなのか?とも思ってRAID構成の別パーティションをデフラグしてみると見事に
断片化を解消してくれる・・・
システムドライブだけはスキャンのみをして解消をしない。という事みたいだ
ちなみにセーフモードで実行してみたが結果は同じだった。
もう少し調べてみようと思う。何かいい改善案あったら教えてください。

561:名無しさん@お腹いっぱい。
07/02/16 09:55:03 XyngPVMR0
オラのCONTIGは正常だお ( ^ω^)

562:名無しさん@お腹いっぱい。
07/02/18 21:56:52 yZptM4370
PowerDefragmenterがGIGAZINEで紹介されてる
URLリンク(gigazine.net)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch