プログラミングを全く知らない状態の時に、
ネット上にて情報を収集し、様々な情報を組み合わせることによって作成したものです。
全くの無知状態で、数値や文字を少しずつ変化させ、
トライ&エラーの繰り返しにより、何とか動くレベルまで持っていったものです。
非効率・バグの有無不明 といったレベルのものです。
プログラム中に記述している、コメントも、内容が誤っている可能性があります。
*下へ行くほど改善を重ねたもので、現状、一番下のものを当方では常用しています。


●特定のフォルダ内にあるファイルを、メディアプレーヤーでランダムに再生
下記をメモ帳にペーストし、「*.hta」というファイル名で保存し、実行する。
*下記の例では、Dドライブのmp3フォルダ内をランダム再生させる場合。

'**********
'ここから
'**********
<HTML>
<HEAD>
<TITLE ID="na">Random Viewer</TITLE>
'■HTML Applicationのベースウィンドウの設定
<HTA:APPLICATION
CAPTION="true"
MAXIMIZEBUTTON="no">
</HEAD>
<BODY SCROLL="no">
'■メディアプレイヤーを大きさと位置を指定して貼り付け
<OBJECT ID="MediaPlayer"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
WIDTH="320"
HEIGHT="280"
STYLE="position:absolute; left:0px; top:0px;">
</OBJECT>
</BODY>
</HTML>

<SCRIPT LANGUAGE=VBScript>
'■フォルダの指定:最後の\を忘れずにつけること
pass = "d:\mp3\"

'■ウィンドウサイズの指定
window.resizeTo 330,310

'■フォルダ内のファイルオブジェクトの作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")
Set objPath = objFileSys.GetFolder(pass)
Set fc = objPath.Files

'■ファイルオブジェクトからランダムに1つを取り出して
'■メディアプレイヤーで再生
Sub SetFile()
Randomize
i = Int(fc.count * Rnd + 1)
For Each f1 in fc
i = i - 1
IF i = 0 THEN
MediaPlayer.FileName = pass & f1.name
Document.Title = f1.name
EXIT FOR
END IF
Next
End Sub

'■再生終了時の処理
Sub MediaPlayer_EndOfStream(lResult)
SetFile()
End Sub

'■キー入力の処理
'■n :新たなファイルを再生
'■Enter:アプリケーション終了
Sub MediaPlayer_KeyPress(iKeyCode)
IF iKeyCode = 110 THEN
SetFile()
ELSEIF iKeyCode = 13 THEN
Window.close()
END IF
End Sub

'■立ち上げ時の処理
Sub window_onload()
MediaPlayer.SendKeyboardEvents="True"
SetFile()
MediaPlayer.focus()
End Sub
</SCRIPT>
'**********
'ここまで
'**********


●特定のフォルダを指定し、そのフォルダ内にあるファイルのリストファイルを、そのフォルダ内に作成する。
下記をメモ帳にペーストし、「*.vbs」というファイル名で保存し、実行する。

'■ WSH(WindowsScriptHost)でMP3リストファイル作成 ■
'このスクリプト文を、メモ帳などにコピー&ペーストし、
'「0000_リストファイル作成(フォルダ指定型).vbs」というようなファイル名で保存。
'作成したファイルを実行し、指示に従えば、リストファイルが作成される。
'リストファイルは、ファイル名順にソートされて作成されます。(ソートには、Microsoft社が提供するデータベースアクセスのためのソフトウェア部品ADOを利用。)
'コメントアウトマーク「'」が入っている行は、スクリプト実行時に無視される。

'Const adInteger = 3
'Const adBSTR = 8
'Const adChar = 129
Const adWChar = 130
Dim FS,strFolder,newFile,objFile,objFolder
Set FS = CreateObject("Scripting.FileSystemObject")
Set Shell=Wscript.CreateObject("Shell.Application")
Set objFolder=Shell.BrowseForFolder(0,"フォルダを選んでください",&H10)
If objFolder Is Nothing Then WScript.Quit
strFolder = objFolder.Items.Item.path
If Not FS.FolderExists(strFolder) Then WScript.Quit
Set objFolder = Nothing
Set Shell= Nothing

Set RS = CreateObject("ADODB.Recordset")

RS.Fields.Append "Name",adWChar,250

RS.CursorLocation = 3 'adUseClient
RS.CursorType = 1 'adOpenKeyset
RS.Open

Set objFolder = FS.GetFolder(strFolder)
For Each objFile In objFolder.Files

sExt=LCase(FS.GetExtensionName(objFile.Name))
'■リストアップ対象拡張子を列挙する。例>If sExt="mp3" Or sExt="txt" Then
If sExt="mp3" Or sExt="wav" Or sExt="wma" Or sExt="wmv" Or sExt="rm" Or sExt="ram" Or sExt="avi" Or sExt="mpg" Or sExt="mpeg" Then
'Else
'MsgBox "リストアップ対象拡張子を持ったファイルは見つかりませんでした。" & vbCrLf & "スクリプトを終了します。" & WScript.Quit
RS.Addnew
'■リストを絶対パス表記にしたい時には、objFile.Nameの部分をobjFile.Pathに変更する。
RS.Fields("Name").Value = objFile.Name
RS.Update
End If

Next
RS.Sort = "Name"
Set newFile = FS.CreateTextFile(FS.BuildPath(strFolder,"0000_List.m3u"))
RS.MoveFirst
While Not RS.EOF
newFile.WriteLine Trim(RS.Fields("Name").Value)
RS.MoveNext
Wend
newFile.Close
'リストファイル作成完了の画面表示。
MsgBox "----- リストファイル作成完了 -----" & vbCrLf & "リストアップ数:  " & RS.RecordCount & "  ファイル"
If RS.RecordCount > 0 Then
Else
MsgBox "該当のファイルはありませんでした"

End If
RS.Close
Set RS = Nothing
Set newFile = Nothing
Set sArg = Nothing
Set FS = Nothing


●特定のフォルダをこのファイルにドラッグ&ドロップすると、そのフォルダ内にあるファイルのリストファイルを、そのフォルダ内に作成する。
下記をメモ帳にペーストし、「*.vbs」というファイル名で保存し、
リスト化したいファイルが入っているフォルダを、このファイルにD&Dする。

'■ WSH(WindowsScriptHost)でMP3リストファイル作成 ■
'このスクリプト文を、メモ帳などにコピー&ペーストし、
'「0000_リストファイル作成(D&D型).vbs」というようなファイル名で保存。
'作成したファイルを実行し、指示に従えば、リストファイルが作成される。
'リストファイルは、ファイル名順にソートされて作成されます。(ソートには、Microsoft社が提供するデータベースアクセスのためのソフトウェア部品ADOを利用。)
'コメントアウトマーク「'」が入っている行は、スクリプト実行時に無視される。

'Const adInteger = 3
'Const adBSTR = 8
'Const adChar = 129
Const adWChar = 130
Dim FS,strFolder,newFile,objFile,sArg
Set FS = CreateObject("Scripting.FileSystemObject")
'Set Shell=Wscript.CreateObject("Shell.Application")
'Set sArg=Shell.BrowseForFolder(0,"フォルダを選んでください",&H10)
For Each sArg In WScript.Arguments
If FS.FolderExists(sArg) Then
'If sArg Is Nothing Then WScript.Quit
strFolder = FS.GetFolder(sArg)
'If Not FS.FolderExists(strFolder) Then WScript.Quit
'Set sArg = Nothing
'Set Shell= Nothing
End If
Next

Set RS = CreateObject("ADODB.Recordset")

RS.Fields.Append "Name",adWChar,250

RS.CursorLocation = 3 'adUseClient
RS.CursorType = 1 'adOpenKeyset
RS.Open

Set sArg = FS.GetFolder(strFolder)
For Each objFile In sArg.Files

sExt=LCase(FS.GetExtensionName(objFile.Name))
'■リストアップ対象拡張子を列挙する。例>If sExt="mp3" Or sExt="txt" Then
If sExt="mp3" Or sExt="wav" Or sExt="wma" Or sExt="wmv" Or sExt="rm" Or sExt="ram" Or sExt="avi" Or sExt="mpg" Or sExt="mpeg" Then
'Else
'MsgBox "リストアップ対象拡張子を持ったファイルは見つかりませんでした。" & vbCrLf & "スクリプトを終了します。" & WScript.Quit
RS.Addnew
'■リストを絶対パス表記にしたい時には、objFile.Nameの部分をobjFile.Pathに変更する。
RS.Fields("Name").Value = objFile.Name
RS.Update
End If

Next
RS.Sort = "Name"
Set newFile = FS.CreateTextFile(FS.BuildPath(strFolder,"0000_List.m3u"))
RS.MoveFirst
While Not RS.EOF
newFile.WriteLine Trim(RS.Fields("Name").Value)
RS.MoveNext
Wend
newFile.Close
'リストファイル作成完了の画面表示。
MsgBox "----- リストファイル作成完了 -----" & vbCrLf & "リストアップ数:  " & RS.RecordCount & "  ファイル"
If RS.RecordCount > 0 Then
Else
MsgBox "該当のファイルはありませんでした"

End If
RS.Close
Set RS = Nothing
Set newFile = Nothing
Set sArg = Nothing
Set FS = Nothing





メモ

http://hp.vector.co.jp/authors/VA030421/prog201.ht...

▼当HP内検索▼

▼メインメニュー▼



管理者用リンク
書籍(技術書)
・利用ソフト一覧
・Ethereal/Wireshark

転送速度




・powershell

・VBA










・Microsoft SQLserver








●CentOS6.9


▼動画サーバ関係

MP3について
DVDからのMP3変換について?
DVDからの動画変換について



▼自転車関係
・Panasonic CRAZY BOY

▼自動車関係
・SUZUKI エブリワゴンDA62W


▼Linux/Unix関係
・Linux基礎(パッケージ)
・Linux基礎(システム構成)
・Linux(Debian)基本コマンド
・Linuxコマンド(テキスト処理)
・Linuxコマンド(未整理)
・Linuxコマンド(ネットワーク系)
・FedoraCore OS メモ
・Debian Linux OS メモ
・Vine Linux OS メモ
・xPUD メモ

・CentOS6.4(minimal)


・solaris9 メモ
・solaris10 メモ

▼CCNA関係


▼ノートPC関連

液晶パネル

Fujitsu FMV-820MT
・Compaq Evo Notebook N110
・Panasonic Let's note CF-S51R
・Toshiba Dynabook Satellite 1800


▼デスクトップPC関連
・AOpen AX3S Pro-U
・ASUS CUSL2
・ASUS CUSL2-M


▼携帯電話
・NTT DoCoMo FOMA M1000
・FOMA P704iμ


▼モデム関連
▼ADSLモデム
・NTT ADSLモデム-NV
・NEC PA-WD605CV
・NEC PA-WD701CV
▼アナログモデム
・GVC F-1156IV/R9

▼ルータ関連
▼ルータ
・OMRON MR504DV
・FON La Fonera FON2100E
・Cisco Cisco2620
・Cisco4500M
・Cisco1601
  Cisco1603-R
  Cisco1605

・Cisco 共通メモ

・BUFFALO BLR3-TX4L
・I・O DATA NP-BBR
・NEC PA-WB7000/B (AtermWB7000H)
・マイクロ総研 NetGenesis OPT
・Persol PBR001

・YAMAHA NetVolante RTA54i
・FUJITSU NetVehicle-I

▼イーサネットコンバータ関連
・LINKSYS WET11

▼TA関連
・NEC AtermIT60D1L(S)

▼ハブ関連
・Cisco Catalyst 2924-XL-EN
・AlliedTelesis CentreCOM8216XL2
・BUFFALO LSW10/100-8
・corega FSW-5PM
・corega HUB-5PM
・CONTEC RT-1216S

▼NIC関連
・BUFFALO WLI-U2-SG54HP
・PLANEX GW-NS54GMX
・NTT-ME MN SS-LAN CARD 11 HQ

▼プリンタサーバ関連
・corega Pserver
・I・O DATA PLANT ET-FPS1E

▼デジカメ関連
・MINOLTA DiMAGE F100

▼携帯電話ケーブル関連
・BUFFALO IGM-UPDC
・OMRON ME64KTID
・OMRON ME96KTI
・SOURCENEXT SUS-USB-02 REV.1
・UP12 USB-PDC Converter
・DAISO D106

▼その他PC周辺機器
●キーボード
・Bluetoothキーボード BK3001BA
●ハンディターミナル
・ENSO BHT-6500
●ダウンスキャンコンバータ
・SC-TVEX
●CD-ROMドライブ
・NEC CD-2800D
・BUFFALO CDN-D24EX
・BUFFALO DVM-RDM16IU2
●MOドライブ
・ELECOM LMO-230-S
・FUJITSU MCF3064SS
・FUJITSU SMB-640WL2
●スピーカー
・Justy JSP-10W
●MP3プレーヤ
・SanDisk sansa e130
・NHJ V@mp VP-415
●インタフェースカード
・玄人志向 USB2.0+1394a-CB
・nbj IDE-3525
・Notebook Power Sharing
●ACアダプタ
・Universal AC Adaptor
●マウス
・Logitec Marble Mouse
・needs progres TN-30RFMOSG
●タブレット
・WACOM FAVO(ET-0405-U)
●その他
・IDEAL ME-320X(ME-320U2F)
・KY-05046S-12-H
・LifeView USB CapView
・ハードウェア(その他)
●シリアルレベルコンバータ
・シリアルレベルコンバータ


▼Windows系メモ
・DOS起動ディスク
・Microsoft OS メモ
・Microsoft 系ソフト メモ
・その他 ソフトウェアメモ
・Network Notepad
・Packet Tracerメモ
・パノラマ写真作成ソフト
・トラブル対処履歴


▼プログラミング関連
・言語比較
・VBS
・卒研事前メモ
・卒研メモ
・Windowsプログラミング
・JANコード・ISBNコード相互変換
●C言語
・文字列
・ファイル操作
●アルゴリズム
・再帰アルゴリズム
●JAVA
・Javaプログラミング
●その他
・初心者プログラミング
・ソフトウェア未整理メモ



▼家電関連
●テレビ
・SHARP AQUOS LC-20D10
・FUNAI TV-14CP
・BLUEDOT BTV-900K
・AKART AK-FTV913
・REAL LIFE JAPAN IQ-191LEDTV
AQUOS DZ3シリーズのDLNA機能
Viera V1シリーズのDLNA機能
●プロジェクタ
・crenova XPE470
●ビデオ
・FUNAI TV-14CP
●HDD&DVDレコーダ
・Toshiba RD-XS46
・NEC PK-AX10
●DVDプレーヤー
・GREEN HOUSER GH-PDV9AT
・情熱価格 DVDJ-DQ03
●メディアプレーヤー
・MINI HD MEDIA BOX 1080P
・1080P FULL HD Media Player
・1080P HD Media Player Mini 1080
・HD media player

●チューナー
・COMTEC DTW700
・HUMAX CI-S1

●アンテナ
・ADDZEST ZCP107
・マルハマ AGS-590

●ヘッドマウントディスプレイ
・VIRTUAL i/O i-glasses
●電動歯ブラシ
・ブラウン電動歯ブラシ
●電話機
・SHARP DA-C5-B
●コードレス電動ドリル、ドライバ
・BLACK&DECKER CSD300T
・RELIEF 30946?

▼カーナビ関係
Panasonic CN-GP510VD
Panasonic CN-G1100VD
▼カーステレオ関係
Kenwood U585SD

▼おもちゃ関連
●ラジコン
・ラジコンのプロポ改造


▼カー用品関連
●インダッシュTV
・ADDZEST TVS6250


▼DIY関連
・懸垂スタンド
・蓄光塗料


▼電子工作関係
・コネクタピンアサイン
・LANケーブルをAVケーブル化
・LANケーブルをRGBケーブル化
・地上デジタル放送アンテナ
・電子工作 メモ
・乾電池を充電


▼デザイン関連
●腕時計
・腕時計


▼その他

・HP製作関連メモ
・アイデアメモ

・コラム・メモ
・趣味・興味


・ToDo
・ネットインフラ?


▼資格・履歴書・マナー
・資格取得メモ
・工事担任者対策メモ
・履歴書・職務経歴書
・答辞


▼修学旅行 フランス(パリ)


▼掲示板
●掲示板
 意見・苦情・質問用に仮設置。

▼フリーエリア▼

▼おしらせ▼

管理人/副管理人のみ編集できます