(for Internet Explorer)
← ▼ ▲
↑
copy_ren
(src)
Sub copy_ren( SrcPath as string, DstPath as string )
ファイルまたはフォルダーの名前を変えてコピーします。 (copy and rename)
【引数】
SrcPath
DstPath
コピー元のファイル、または、フォルダーのパス
コピー先のファイル、または、フォルダーのパス
SrcPath がファイルなら、DstPath に指定したパスもファイルにしてください。
SrcPath がフォルダーなら、DstPath に指定したパスもフォルダーにしてください。
コピー先にファイルがあっても、上書き確認をユーザーに行わずに、上書きします。
ユーザーには、上書きするフォルダーやファイルのバックアップをとるようにガイド
してください。
フォルダーをコピーするとき、SrcPath のフォルダーと DstPath のフォルダーを
全く同じファイル構成にしたいときは、DstPath のフォルダーを削除してからコピー
してください。
ファイル：
vbslib.vbs
copy_ren "src", "dst"
サンプル
src フォルダーの内容を dst フォルダーの中にコピーします。
または、src ファイルの内容を、dst ファイルの中にコピーします。
関連
→ copy
参考
→ copy の注意
サンプル
copy_ren "src", "dst"
copy "src\*", "dst"
上記の２行は、同じ処理です。
src フォルダーの内容を dst フォルダーの中にコピーします。
→ T_Copy.vbs # [T_Copy]
テスト
← ▼ ▲
copy_ex
Sub copy_ex( SrcPath as string, DstPath as string, Option_ as integer )
Option_ に指定したように、特殊なコピーをします。
【引数】
SrcPath
DstPath
コピー元のパス。 ワイルドカードが使えます
コピー先のフォルダーのパス
Option_
特殊なコピーの内容
Option_ = c.CutTag のとき （タグをカットするコピー）
SrcPath に指定したワイルドカード以外の部分をカットしたファイル名になるようにコピーします。
サブフォルダにあるファイルもコピーします。
Dim c : Set c = g_VBS_Lib
copy_ex "src\*_set1.*", "dst", c.CutTag
src フォルダーにある _set1. を名前に含むファイルを、dst フォルダーにコピーします。
ただし、ファイル名の一部にある _set1 はカットされます。
複数のファイルが入ったフォルダが複数あって、それらを上書きコピーして合成したフォルダから、
元の１つのフォルダを取り出すようなコピーができます。
src フォルダ
file1_set1.txt
file1_set2.txt
file2_set2.txt
file2_set1.txt
file2.txt
dst フォルダ
file1.txt
→ Option_ = c.CutTag のとき （タグをカットするコピー）
Option_ = c.ExistOnly のとき （存在するファイルのみコピー）
→ Option_ = c.ExistOnly のとき （存在するファイルのみコピー）
コピー先に同じ名前のファイルがあるファイルだけ、コピーします。
(src)
Set c = g_VBS_Lib
copy_ex "src\*", "dst", c.ExistOnly
file1.txt
dst フォルダ
file3.txt
file3.txt
file4.txt
file2.txt
file1.txt
src フォルダ
参考
_set1
file1.txt と file3.txt だけコピーします。
→ T_CopyEx.vbs
テスト
→ T_CopyEx.vbs
テスト
関連
→ copy
ファイル：
vbslib.vbs
→ CopyOnlyExist コマンド
関連
Option_ = c.MakeShortcutFiles のとき （ショートカットを作成する）
Set c = g_VBS_Lib
copy_ex "src\*", "dst", c.MakeShortcutFiles
sub\file1.txt
sub\file1.lnk
dst フォルダ （新規作成）
file1.lnk
file1.txt
file2.txt
src フォルダ
file2.lnk
コピー先にコピー元のそれぞれのファイルへのショートカットを作成します。
→ Option_ = c.MakeShortcutFiles のとき （ショートカットを作成する）
Option_ = c.NotExistOnly のとき （存在しないファイルのみコピー）
コピー先に同じ名前のファイルや空フォルダーがないファイルだけ、コピーします。
Set c = g_VBS_Lib
copy_ex "src\*", "dst", c.NotExistOnly
file1.txt
dst フォルダ
file3.txt
file3.txt
file4.txt
file2.txt
file1.txt
src フォルダ
file2.txt と file4.txt と EmptyFolder だけコピーします。
→ T_CopyEx.vbs
テスト
→ T_CopyEx.vbs
テスト
T_MakeShortcutFiles
T_CopyNotExists
T_CopyExists
T_CopyTagFiles
→ Option_ = c.NotExistOnly のとき （存在しないファイルのみコピー）
EmptyFolder
← ▼ ▲
OpenPickUpCopy
→ T_Wildcard.vbs
テスト
T_PathDictionary_XML_PickUpCopy
→ PickUpCopy1.xml
Function OpenPickUpCopy( in_PathWithID as string ) as OpenPickUpCopyClass
コピーするフォルダーの一部がどこかの情報が書かれた XML を開きます。
【引数】
in_PathWithID
PickUpCopies XML ファイルのパス、または、それと、# と、XML の id 属性
返り値
コピーするフォルダーの一部がどこかの情報が入ったオブジェクト
サンプル
OpenPickUpCopy( "PickUpCopy.xml" ).Copy "Folder1", "OutputFolder", Empty
Set copy_ = OpenPickUpCopy( "PickUpCopies.xml#Example" )
Set w_= AppKey.NewWritable( copy_.GetDefaultOutputPath( Empty ) ).Enable()
copy_.Copy Empty, Empty, Empty
"PickUpCopy.xml"
サンプル
"PickUpCopies.xml#Example"
"Folder1", "OutputFolder"
FilePathClass
in_PathWithID 引数に
を指定することもできます。 その場合、最初の PickUpCopy タグ
の内容が使われます。
コピーは上書きコピーを行います。 コピー先にすでにあるファイルが不要なら、削除した後で
コピーしてください。
OpenPickUpCopyClass
→ PickUpCopy コマンド
#Example を指定すると、id 属性の値が Example の PickUpCopy タグの 設定を使います。
#以下を指定しなければ、最初の PickUpCopy タグの 設定を使います。
参考
設定ファイル PickUpCopy.xml の説明
<PickUpCopies>
<Variable name="${FolderPath}" value="Folder1"/>
<Variable name="${ExceptExts}" value="*.ini, ${FolderPath}\B.txt"/>
<PickUpCopy id="Example"
default_source_path="Folder1"
default_destination_path="${SourceFolderName}_cleaned">
<Folder path=".">
<Except path="${ExceptExts}"/>
<Except path="Except"/>
</Folder>
</PickUpCopy>
<PickUpCopy id="2">
<File path="A.txt"/>
<File path="${RegExp(.*\.(txt|c|h))}"/>
</PickUpCopy>
</PickUpCopies>
PickUpCopies タグの名前は変更できます。
Variable タグ
で定義した ${ } 変数は、path, default_source_path, default_destination_path
属性から参照できます。
default_source_path, default_destination_path 属性は、
の引数に Empty を指定したときに使われます。
Example
PickUpCopies.xml
Copy メソッド(OpenPickUpCopyClass)
スクリプト
Copyメソッド
OpenPickUpCopy 関数が返した OpenPickUpCopyClass のオブジェクトの
を呼び出しています。
PickUpCopy.xml ファイルに書かれた設定に従って、Folder1 フォルダーの一部から
OutputFolder フォルダーへコピーします。
コールツリー
OpenPickUpCopyClass::Copy
(.vbs)
new_PathDictionaryClass_fromXML
(.vbs)
PathDictionaryClass_onRegExp
new_PathDictionaryClass_fromXML_Ex
(.vbs)
(.vbs)
LazyDictionaryClass::Item
LazyDictionaryClass::Me_Expand
(.vbs)
(.vbs)
(.vbs)
LazyDictionaryClass::Me_Call
PathDictionaryClass::LeafPaths
(.vbs)
PathDictionaryClass::Scan
(.vbs)
ExpandWildcard
(.vbs)
'// ソート「ファイル ＞ \ あり * ＞ \ なし * （拡張子のデフォルト） ＞ フォルダー」
// 正規表現を展開する。
// ファイルを一覧する。
copy_ren
// コピーする。
path 属性に ${RegExp( ... )} を記述すれば、
で複数のファイルを指定できます。
正規表現
OpenPickUpCopy
(.vbs)
← ▼ ▲
OpenPickUpCopyClass
OpenPickUpCopy
の返り値のクラス。
← ▼ ▲
Copy (OpenPickUpCopyClass)
Sub OpenPickUpCopyClass::Copy( in_SourcePath as string, in_DestinationPath as string,
in_Empty as Empty )
XML に指定したファイルまたはフォルダーをコピーします。
【引数】
in_SourcePath
in_DestinationPath
コピー元の基準フォルダーのパス、または、Empty
コピー先の基準フォルダーのパス、または、Empty
in_SourcePath 引数に Empty を指定したときは、XML の default_source_path 属性に指定したパス
が使われます。
in_DestinationPath 引数に Empty を指定したときは、XML の default_destination_path 属性に指定
したパスが使われます。
in_Empty
Empty を指定してください
<< OpenPickUpCopyClass
← ▼ ▲
GetDefaultSourcePath (OpenPickUpCopyClass)
フォルダーのパスを返します。
フル パスが返ります。
XML の default_source_path 属性に指定した ${ } 変数が展開された値が返ります。
Function GetDefaultSourcePath() as string
コピー元の基準フォルダーのパスを返します。
の in_SourcePath 引数に Empty を指定したときの、コピー元の基準
Copy メソッド
<< OpenPickUpCopyClass
← ▼ ▲
GetDefaultDestinationPath (OpenPickUpCopyClass)
フォルダーのパスを返します。
フル パスが返ります。
XML の default_destination_path 属性に指定した ${ } 変数が展開された値が返ります。
XML の default_destination_path 属性に指定した ${SourceFolderName} は、
コピー元の基準フォルダーのパスに展開された値が返ります。
Function GetDefaultDestinationPath( in_SourcePath as string ) as string
コピー先の基準フォルダーのパスを返します。
【引数】
in_SourcePath
コピー元の基準フォルダーのパス、または、Empty
返り値
コピー先の基準フォルダーのパス
<< OpenPickUpCopyClass
の in_DestinationPath 引数に Empty を指定したときの、コピー先の基準
Copy メソッド
← ▼ ▲
cat
Sub cat( FilePathss as string or array of string, OutputPath as string )
テキスト・ファイルの内容を連結します。
【引数】
FilePathss
OutputPath
ファイルのパスの配列
連結した内容を格納するファイルのパス
ファイル：
vbslib.vbs
→ T_fc.vbs # [test_in_file]
テスト
(src)
サンプル
Dim out, out1 : out = "log.txt" : out1 = "log1.txt"
del out
r= RunProg( "...", out1 )
cat Array( out, out1 ), out
del out1
out, out1
out
プログラムの出力を out に追加します。
サンプル
cat Array( "log.txt", "plus.txt" ), "log.txt"
log.txt ファイルの内容に out.txt ファイルの内容を追加します。
"log.txt", "plus.txt"
"log.txt"
→ cat コマンド（Linux）
参考
実行前の log.txt
plus.txt
実行後の log.txt
123
456
ABC
DEF
+
=
123
456
ABC
DEF
← ▼ ▲
CopyNotOverwriteFileClass
(src)
Set o = new CopyNotOverwriteFileClass
o.SourcePath = "work\Source"
o.DestinationPath = "work\Destination"
o.SynchronizedPath = "work\Synchronized"
o.Copy
サンプル
フォルダーをコピーします。
ただし、コピー先のファイルが前回コピーした内容と異なるファイルはコピーしないで、
SyncFilesMenu
メニューに一覧します。 メニューを閉じるまで、Copy メソッドから戻りません。
Copy の代わりに CopyForce を呼び出すと、メニューを表示しないで、強制上書きします。
→ DeleteSameFileClass
関連
.SourcePath は、コピー元のフォルダーのパス。
.DestinationPath は、コピー先のフォルダーのパス。
.SynchronizedPath は、.DestinationPath にコピーしたファイルのコピーが入ります。
.SynchronizedPath にあるファイルと .DestinationPath にあるファイルの内容が異なれば、
.DestinationPath にあるファイルが修正されたと判断されます。
テスト
→ T_CopyDelNotOver フォルダ
コピー先にのみ存在するファイルは、存在し続けます。
→ CommitCopy
← ▼ ▲
ReplaceShortcutFilesToFiles
Sub ReplaceShortcutFilesToFiles( FolderPath as string, Option_ as Empty )
ショートカット・ファイルを通常のファイルに変換します。
【引数】
FolderPath
Option_
変換するフォルダーのパス
Empty を指定してください
→ ReplaceShortcutFilesToFiles コマンド
関連
サブ フォルダーを含めて変換します。
ソース
→ vbslib.vbs
→ CreateShortcut (Shell)
← ▼ ▲
CopyFunction 型、コピー関数型
→ CompareFunction 型、比較関数型
Function CopyFunction( in_SourcePath as string, in_DestinationPath as string, ref_Option as variant )
as variant
コピーまたは移動をする関数の型。 関数名は、CopyFunction とは限りません。
【引数】
in_SourcePath
in_DestinationPath
コピー元のアドレスやパス
コピー先のアドレスやパス
ref_Option
ユーザー定義、または、コール元定義
返り値
コール元定義
Function SampleStaticClass_copy( in_SourcePath, in_DestinationPath, ref_Option )
copy_ren in_SourcePath, in_DestinationPath
End Function
Set a_copy = GetRef( "SampleStaticClass_copy" )
サンプル
関連
→ CallForEach_copy
copy_ren
パスが相対パスで渡されたとき、その基準パスはカレント フォルダーです。
→ CopyFolder (OpenForDefragmentClass)
← ▼ ▲
その他
→ ConvertToFullPath
テキストファイルの中の相対パスをフル・パスに変換してコピーします。
→ OpenForReplace
テキストファイルの内容を変更します。
ファイルを安全に更新します。
→ CreateShortcut
ショートカットを作成します。
→ CallForEach_copy
複数のファイルをファイルコピーです。
→ MakeFileClass
ファイルのタイムスタンプを比較して、必要ならコマンドを実行します。
→ SafeFileUpdateEx
← ▼ ▲
move
SrcPath のファイルまたはフォルダを、DstFolderPath フォルダーの中に移動します。
Sub move( SrcPath as string, DstFolderPath as string )
【引数】
SrcPath
DstFolderPath
移動元のファイルパス、またはフォルダーパス
移動先のフォルダーパス （ファイルパスは不可）
→ copy
(src)
move "data", "do_test"
move "src\*", "src_copy"
src フォルダの内容を src_copy フォルダに移動します
data フォルダを do_test フォルダの中に移動します
参考
テスト
移動先にファイルやフォルダーがあるときは、上書き確認しないで、上書きします。
移動先のフォルダーにあるファイルが、移動元に無くても残ります。
→ T_Copy.vbs
T_Move2
ファイル：
vbslib.vbs
サンプル
関連
→ ReplaceFileNameWildcard
→ move_ren
→ SafeFileUpdate
T_Move
← ▼ ▲
move_ren
Sub move_ren( SrcPath as string, DstPath as string )
ファイルまたはフォルダーの名前を変えて移動します。
【引数】
SrcPath
DstPath
コピー元のパス
コピー先のパス
SrcPath がファイルなら、DstPath に指定したパスもファイルにしてください。
SrcPath がフォルダなら、DstPath に指定したパスもフォルダにしてください。
(src)
移動先にファイルやフォルダーがあるときは、上書き確認しないで、上書きします。
移動先のフォルダーにあるファイルが、移動元に無くても残ります。 (Ver 5.00以降)
移動先のフォルダーにあるファイルが、移動元に無いときは、そのファイルは削除されます。 (Ver 5.00より前)
関連
→ move
→ ren
テスト
→ T_Copy.vbs
T_Move
T_Move2
→ vbslib.vbs
ソース
← ▼ ▲
unzip
Sub unzip( Src as string, Dst as string, Opt as integer )
圧縮 (zip形式) フォルダーを解凍します。
(src)
c.IgnoreIfExist
解凍する前にフォルダを削除します
すでにフォルダーが存在し、zip の内容と異なるときはエラーにします
すでにフォルダーが存在していたら何もしません
すでにフォルダーが存在していたらエラーにします
Opt 引数
整数型のときは、ビットフィールドの Flags です。 なお、c = g_VBS_Lib です。
sample1
sample1.zip
file1.txt
file1.txt
sample1.zip
sample1
[ 送る |
圧縮(zip)フォルダ ]
フォルダを右クリック
Compressed Folders ]
ダブルクリックで開かないときは、右クリック [ プログラムから開く |
上記 sample1.zip は、次のように作成します。
Opt
sample1.zip をエクスプローラで開くと、次のようになります。
サンプル１
unzip "sample1.zip", "sample1", F_AfterDelete
カレントフォルダー
file1.txt （新規作成）
sample1 （新規作成）
file1.txt
sample1
sample1.zip
unzip "sample1.zip", "C:\folderA\sample1", F_AfterDelete
sample1
file1.txt
folderA
C:\
サンプル２
sample1
file1.txt
sample1.zip
C:\folderA\
→ env
環境変数を指定する
【引数】
Src
Dst
コピー元 = 圧縮 (zip形式) フォルダー（= zip ファイル）のパス
コピー先 = 解凍してできるフォルダーのパス
Opt
Emtpy または、オプション・フラグ
ダウンロードした zip ファイルを解凍するために、vbslib の unzip を使わないでください。
不正な zip ファイルに対するテストをしていません。
Windows のエクスプローラーなどから展開してください。
→ ファイル名、パス (Windows)
参考
→ Out of Writable 警告 [E_OutOfWritable]
→ Opt 引数
相対パス指定
フル・パス指定、インストール向け
解凍
sample1
sample1
→ SpecialFolders (Shell)
特殊フォルダを指定する
関連
ファイル：
zip.vbs
→ zip 圧縮展開
→ T_Zip.vbs # [T_unzip]
テスト
関連
→ unzip2
c.AfterDelete
c.ErrorIfExist
zip ファイルの中のルートに１つのフォルダーだけがあるときは、そのフォルダーの中を
展開します。
→ unzip コマンド
ソース
→ zip.vbs
boolean 型のときは、次のとおりです。
True
False
F_AfterDelete と同じ。 解凍する前にフォルダを削除します
F_IfNotExist と同じ。 すでにフォルダが存在していたら何もしません
c.CheckSameIfExist
← ▼ ▲
zip 圧縮展開
→ unzip2
zip ファイルを解凍します。
scriptlib
ファイル構成
リファレンス
圧縮 (zip形式) フォルダーを解凍します。
Setting_getIncludePathes = Array(_
:
"zip\zip.vbs",_
setting
vbs_inc_setting.vbs
zip\unzip2.exe の内部で使っている zlib について
→ scriptlib\zip\zip_readme.txt
zip_readme.txt
zip
zip 形式の圧縮ファイルを扱います。
ダウンロードした zip ファイルを解凍するために、vbslib の unzip を使わないでください。
不正な zip ファイルに対するテストをしていません。
Windows のエクスプローラーなどから展開してください。
→ unzip
vbslib
zip.vbs
←
↓