トッカンソフトウェア

WSH フォルダ、ファイル操作

フォルダ、ファイル操作について書いていきます。


フォルダ、ファイル一覧

				
Dim objFSO
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

Dim objBaseDir
Set objBaseDir = objFSO.getFolder("C:\work\wsh")

'フォルダ一覧
Dim objDir
for each objDir in objBaseDir.subFolders
	'ドライブ
	wscript.echo objDir.drive
	'親フォルダのフルパス
	wscript.echo objDir.parentFolder
	'フルパス
	wscript.echo objDir.path
	'ファイル名
	wscript.echo objDir.name
	'作成日時
	wscript.echo objDir.datecreated
	'更新日時
	wscript.echo objDir.datelastmodified
next

'ファイル一覧
Dim objFile
for each objFile in objBaseDir.files
	'ドライブ
	wscript.echo objFile.drive
	'親フォルダのフルパス
	wscript.echo objFile.parentFolder
	'フルパス
	wscript.echo objFile.path
	'ファイル名
	wscript.echo objFile.name
	'作成日時
	wscript.echo objFile.datecreated
	'更新日時
	wscript.echo objFile.datelastmodified
	'サイズ
	wscript.echo objFile.size
next 

Set objFSO = Nothing


			

フォルダ存在チェック、作成

				
Dim objFSO
Dim strDir

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'フォルダ指定
strDir = "C:\work\wsh\test"

'フォルダ存在チェック
If Not objFSO.FolderExists(strDir) Then

	'フォルダ作成
	objFSO.CreateFolder strDir
End If

Set objFSO = Nothing


			

フォルダ移動(フォルダ名変更)

				
Dim objFSO
Dim strDirFrom
Dim strDirTo

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'フォルダ指定
strDirFrom = "C:\work\wsh\test"
strDirTo = "C:\work\wsh\testNew"

'フォルダ存在チェック
If objFSO.FolderExists(strDirFrom) Then

	'フォルダ移動(フォルダ名変更)
	objFSO.MoveFolder strDirFrom,strDirTo
Else
	wscript.echo "フォルダが存在しません"
End If

Set objFSO = Nothing


			

フォルダ削除

				
Dim objFSO
Dim strDir

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'フォルダ指定
strDir = "C:\work\wsh\testNew"

'フォルダ存在チェック
If objFSO.FolderExists(strDir) Then

	'フォルダ削除
	objFSO.DeleteFolder strDir
End If

Set objFSO = Nothing


			

ファイル存在チェック、コピー

				
Dim objFSO
Dim strFrom
Dim strTo

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'ファイル指定
strFrom = "C:\work\wsh\test\a.txt"
strTo = "C:\work\wsh\test\b.txt"

'ファイル存在チェック
If objFSO.FileExists(strFrom) Then

	'ファイルコピー(ファイル名変更)
	objFSO.CopyFile strFrom, strTo, True
Else
	wscript.echo "ファイルが存在しません"
End If

Set objFSO = Nothing


			
引数にTrueを指定すると上書きします。

ファイル移動

				
Dim objFSO
Dim strFrom
Dim strTo

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'ファイル指定
strFrom = "C:\work\wsh\test\b.txt"
strTo = "C:\work\wsh\test\c.txt"
strDirTo = "C:\work\wsh\"

'ファイル存在チェック
If objFSO.FileExists(strFrom) Then

	'ファイル移動(ファイル名変更)
	objFSO.MoveFile strFrom, strTo

	'ファイル移動(フォルダ指定)
	objFSO.MoveFile strTo, strDirTo
Else
	wscript.echo "ファイルが存在しません"
End If

Set objFSO = Nothing


			

ファイル削除

				

Dim objFSO
Dim strFile

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'ファイル指定
strFile = "C:\work\wsh\test\a.txt"

'ファイル存在チェック
If objFSO.FileExists(strFile) Then

	'ファイル削除
	objFSO.DeleteFile strFile
End If

Set objFSO = Nothing


			

ファイルパス関連

				
dim fso
dim objShell

set fso = createObject("Scripting.FileSystemObject")
set objShell = CreateObject("wscript.shell")


' ファイル名取得 test.vbs が表示される
wscript.echo fso.GetFileName("C:\src\wsh\test.vbs")

' 拡張子取得 vbs が表示される
wscript.echo fso.GetExtensionName("C:\src\wsh\test.vbs")

' 親フォルダ取得 C:\src\wsh が表示される
wscript.echo  fso.GetParentFolderName("C:\src\wsh\test.vbs")

' 実行ファイル名取得 C:\src\wsh\test.vbs が表示される
wscript.echo wscript.ScriptFullName

' 親フォルダを取得する場合は以下を実行
' fso.GetParentFolderName(wscript.ScriptFullName)

' 作業フォルダ取得 C:\src\wsh が表示される
wscript.echo objShell.CurrentDirectory

' 作業フォルダは変更できる
objShell.CurrentDirectory = "C:\work"

Set fso = Nothing
Set objShell = Nothing

			



ページのトップへ戻る