2018-12-06T02:59:22Z

FileUtility.jsサンプル集

WSH(JScript)用ファイルライブラリ:FileUtility.jsの簡易のサンプル集です。

共通

絶対パス/相対パス

パス指定では、絶対パス/相対パスが使用できる。
フォルダ区切りとして/\が使用できる。
注意:'\'は、エスケープ文字であるため、2重に重ねる。

// カレントフォルダにフォルダを作成する。
FileUtility.createFolder('./test1');
FileUtility.createFolder('.\\test2');
// Cドライブ直下にフォルダを作成する。
FileUtility.createFolder('C:/test3');
FileUtility.createFolder('C:\\test4');

ファイル作成

空ファイル作成

カレントフォルダにtest.txt名称で空ファイルを作成する。
ファイルが既に存在する場合、なにもしない。

FileUtility.createFile('./test.txt');
// 以下のファイルを作成
// ./test.txt

空ファイル作成(存在しないフォルダ上に)

カレントフォルダのcreateFileフォルダにtest.txt名称で空ファイルを作成する。
フォルダが存在しない場合、作成する。
ファイルが既に存在する場合、なにもしない。

FileUtility.createFile('./createFile/test.txt');
// 以下のファイル/フォルダを作成
// ./createFile
// ./createFile/test.txt

テキストファイル作成

カレントフォルダにtest.txt名称で内容がabcのテキストファイルを作成する。
フォルダが存在しない場合、作成する。

FileUtility.storeText('abc', './test.txt');

var opt_overwite = false;         // 上書き(false:なし/true:あり)
var opt_charset  = 'utf-8';        // 文字コード
var opt_bom      = true;            // BOM(false:なし/true:あり)
FileUtility.storeText('abc', './test.txt', opt_overwite, opt_charset, opt_bom);
// 以下のファイルを作成
// ./storeText/test.txt

JSONファイル作成

カレントフォルダにtest.json名称でobjのJSONファイルを作成する。
フォルダが存在しない場合、作成する。
※WSHの場合、JSONオブジェクトをFileUtilityとは別に準備する必要がある。
WSH(JScript)でJSONを使う

var obj = {"a":"abc"};
FileUtility.storeJSON(obj, './test.json');

var obj = {"a":"abc"};
var opt_overwite = false;         // 上書き(false:なし/true:あり)
var opt_charset  = 'utf-8';        // 文字コード
var opt_bom      = true;            // BOM(false:なし/true:あり)
FileUtility.storeJSON(obj, './test.json', opt_overwite, opt_charset, opt_bom);
// 以下のファイルを作成
// ./storeJSON/test.json

ファイル読込み

テキストファイルの読込み

テキストファイルを読み込む。

FileUtility.loadText('./test.txt');

var opt_charset  = 'utf-8';        // 文字コード
var text = FileUtility.loadText('./test.txt', opt_charset);
WScript.Echo(text);
// 以下のファイルを読込む
// ./storeText/test.txt

JSONファイルの読込み

JSONファイルを読み込む。
※WSHの場合、JSONオブジェクトをFileUtilityとは別に準備する必要がある。
WSH(JScript)でJSONを使う

FileUtility.loadJSON('./test.json');

var opt_charset  = 'utf-8';        // 文字コード
var json = FileUtility.loadJSON('./test.json', opt_charset);
WScript.Echo(json);
// 以下のファイルを読込む
// ./storeJSON/test.json

フォルダ作成

フォルダ作成

カレントフォルダにフォルダを作成する。
フォルダが既に存在する場合、なにもしない。

FileUtility.createFolder(obj, './createFolder');
// 以下のフォルダを作成
// ./createFolder

フォルダ作成(複数階層)

カレントフォルダにフォルダを作成する。
フォルダが既に存在する場合、なにもしない。

FileUtility.createFolder(obj, './createFolder/a/b/c');
// 以下のフォルダを作成
// ./createFolder
// ./createFolder/a
// ./createFolder/a/b
// ./createFolder/a/b/c

ファイルパスからフォルダ作成

カレントフォルダにフォルダを作成する。
フォルダが既に存在する場合、なにもしない。

FileUtility.createFileFolder(obj, './createFileFolder/test.txt');
// 以下のフォルダを作成
// ./createFileFolder

ファイル/フォルダパス制御

空のフォルダを判定する

指定フォルダがファイルなしかつ、フォルダなしである場合、trueを返す。

var ret;
ret = FileUtility.isEmptyFolder('./isEmptyFolder');
WScript.Echo(ret);            // フォルダなし時: 0(false)
FileUtility.createFolder('./isEmptyFolder');
ret = FileUtility.isEmptyFolder('./isEmptyFolder');
WScript.Echo(ret);            // フォルダあり(ファイル/フォルダなし)時: -1(true)
FileUtility.createFile('./isEmptyFolder/a.txt');
ret = FileUtility.isEmptyFolder('./isEmptyFolder');
WScript.Echo(ret);            // フォルダあり(ファイルあり)時: 0(false)
//FileUtility.Delete('./isEmptyFolder/a.txt');// 削除注意
FileUtility.createFolder('./isEmptyFolder/b');
ret = FileUtility.isEmptyFolder('./isEmptyFolder');
WScript.Echo(ret);            // フォルダあり(フォルダあり)時: 0(false)
//FileUtility.Delete('./isEmptyFolder/b');    // 削除注意
ret = FileUtility.isEmptyFolder('./isEmptyFolder');
WScript.Echo(ret);            // フォルダあり(ファイル/フォルダなし)時: -1(true)

存在しないファイルパスを取得する

存在しないファイルパスを返す。

var path = FileUtility.getTempFilePath('.');
WScript.Echo(path);           // C:\test\radA3CFB.tmp
var path = FileUtility.getTempFilePath('.', 'json');
WScript.Echo(path);           // C:\test\radE2414.tmp.json

存在しないファイル名を取得する

存在しないファイルパスを返す。

var path
path = FileUtility.getTempFileName('.');
WScript.Echo(path);           // radA3CFB.tmp
path = FileUtility.getTempFileName('.', 'json');
WScript.Echo(path);           // radE2414.tmp.json

ユニークなファイルパスを取得する

ユニークなファイルパスを返す。
ファイル名の末尾に_数値を追加した文字列を返す。

var path = FileUtility.getUniqFilePath('./test.txt');
WScript.Echo(path);           // C:\test\test_2.txt

ユニークなファイル名を取得する

ユニークなファイル名を返す。
ファイル名の末尾に_数値を追加した文字列を返す。

var path = FileUtility.getUniqFileName('./test.txt');
WScript.Echo(path);           // test_2.txt

有効なファイル名を取得する

有効なファイル名を返す。
\, /, :, '*', '?', '"', '<', '>', '|'を削除する。

var name = FileUtility.getValidFileName('a\\b/c:d*e?f"g<h>i|j.txt');
WScript.Echo(name);           // abcdefghij.txt

検索する

直下のファイルを検索する

直下のファイル一覧を取得する。

var paths = [];
FileUtility.findFile(function (fullpath) {
    paths.push(fullpath);
}, './');
WScript.Echo(paths.join('\n'));

サブフォルダを含む全ファイルを検索する

サブフォルダを含む全ファイルの一覧を取得する。

var paths = [];
FileUtility.findAllFile(function (fullpath) {
    paths.push(fullpath);
}, './');
WScript.Echo(paths.join('\n'));

特定の拡張子のファイルのみ検索する

特定の拡張子のファイル一覧を取得する。

var paths = [];
FileUtility.findFile(function (fullpath) {
    paths.push(fullpath);
}, './', null, ['txt']);
WScript.Echo(paths.join('\n'));

ファイル検索を中断する

3件までのファイル一覧を取得する。
3件目のパスを戻り値に返す。

var paths = [];
var path = FileUtility.findFile(function (fullpath) {
    paths.push(fullpath);
    if (paths.length == 3) {
        return fullpath;
    }
    return false;
}, './');
WScript.Echo(path);
WScript.Echo(paths.join('\n'));

直下のフォルダを検索する

直下のフォルダ一覧を取得する。

var paths = [];
FileUtility.findFolder(function (fullpath) {
    paths.push(fullpath);
}, './');
WScript.Echo(paths.join('\n'));

末端フォルダを検索する

末端フォルダ(フォルダを含まないフォルダ)一覧を取得する。

var paths = [];
FileUtility.findLeafFolder(function (fullpath) {
    paths.push(fullpath);
}, './');
WScript.Echo(paths.join('\n'));

サブフォルダを検索する

サブフォルダ(ルートフォルダを除く)一覧を取得する。

var paths = [];
FileUtility.findSubFolder(function (fullpath) {
    paths.push(fullpath);
}, './');
WScript.Echo(paths.join('\n'));

全フォルダを検索する

全フォルダ(ルートフォルダを含む)一覧を取得する。

var paths = [];
FileUtility.findAllFolder(function (fullpath) {
    paths.push(fullpath);
}, './');
WScript.Echo(paths.join('\n'));

ファイル/フォルダ一覧

ファイル一覧を取得

ファイル一覧を取得する。

var paths = FileUtility.getFiles('./');
WScript.Echo(paths.join('\n'));

フォルダ一覧を取得

フォルダ一覧を取得する。

var paths = FileUtility.getFolders('./');
WScript.Echo(paths.join('\n'));

ファイル/フォルダ操作

存在確認

ファイル/フォルダの有無を判定する。

var ret = FileUtility.Exists('./test');
WScript.Echo(ret);

コピー

ファイル/フォルダをコピーする。

// 上書きなし
var ret = FileUtility.Copy('./src', './dst');
WScript.Echo(ret);
// 上書きあり
var ret = FileUtility.Copy('./src', './dst', true);
WScript.Echo(ret);

移動

ファイル/フォルダを移動する。
既に存在する場合、移動が失敗する。

var ret = FileUtility.Move('./src', './dst');
WScript.Echo(ret);

名称変更

ファイル/フォルダを移動する。
既に存在する場合、名称変更が失敗する。

var ret = FileUtility.Rename('./src', 'dst');
WScript.Echo(ret);

削除

ファイル/フォルダを削除する。
注意:ファイルを削除します。(ゴミ箱へ移動ではありません)

var ret = FileUtility.Delete('./src');
WScript.Echo(ret);
// 読み取り専用でも削除する
var ret = FileUtility.Delete('./src', true);
WScript.Echo(ret);
 コメントを書く