dtcopy.js2021.06.14JScriptshift_jis

引数のファイルパス(フォルダパス)のファイル(フォルダ)をコピーする。コピーの際は、その時点の日付文字列を付与します。
「送る」フォルダへ配置して使用してください。
(簡単な使い方)
ファイルまたはフォルダを選択して、右クリック。「送る」を選択。
コピーファイル名: fromfile_yyyyMMddtHHmmss.txt


                            // dtcopy.js (C) 2012-2021 Hirywork // Set SendTo Folder
                            function getDateString() {
                                var dt = new Date();
                                var r = dt.getFullYear();
                                var a = [dt.getMonth() + 1, dt.getDate(), 
                                         dt.getHours(), dt.getMinutes(), dt.getSeconds()];
                                for (var i = 0; i < 5; i++) r = r * 100 + a[i] + '';
                                return (r.slice(0,8) + 't' + r.slice(8));
                            }
                            var fso = new ActiveXObject("Scripting.FileSystemObject");
                            var args = WScript.Arguments;
                            if (args.length != 1) WScript.Quit;
                            var f = args(0);
                            var p = fso.FolderExists(f) + fso.FileExists(f) * 2;
                            if (p == 0) WScript.Quit;
                            var t = null;
                            do {
                                WScript.Sleep(500);
                                var e = p > 1 ? fso.GetExtensionName(f) : '';
                                if (e) e = '.' + e;
                                t = f.slice(0, e ? -e.length : f.length) + '__' + getDateString() + e;
                            } while (fso.FolderExists(t));
                            p == 1 ? fso.CopyFolder(f, t, true) : fso.CopyFile(f, t, true);
                            new ActiveXObject("WScript.Shell").Popup('dtcopy\r\n' + t, 20, 'dtcopy');
                        

minsch.hta2022.04.23HTAshift_jis

シンプルなスケジュール表。
ソース先頭のデータ部分(id='data'部分)を書き換えて使用します。
カンマ区切りで左端に「OK」で「済」、2つ目が期限。3つ目が要件。
行の最後に「\」を付けます。


                            <html>
                            <head>
                            <title id='data'>minsch<!--\
                            ok,2021/01/15,ソース修正\
                            ,2021/12/31,大晦日\
                            ,2021/12/24,イブ\
                            --></title>
                            <HTA:APPLICATION APPLICATIONNAME='datasch' BORDER='none' INNERBORDER='no' MAXIMIZEBUTTON='no' MINIMIZEBUTTON='no' SCROLL='no' SELECTION='yes' SHOWINTASKBAR='no' SINGLEINSTANCE='yes' SYSMENU='yes' WINDOWSTATE = 'normal' />
                            </head>
                            <body id='body'></body>
                            <script type='text/javascript'>
                                var minsch = (function() {
                                    // 各種定数
                                    var CONFIG = {
                                        FONT_FAMILY: 'メイリオ',
                                        FONT_SIZE: '12'
                                    };
                                    var SCH_RULE = {
                                        OK_SIGN: 'ok',
                                        DAYSAGO_LV1_DAY: 3,
                                        DAYSAGO_LV2_DAY: 7
                                    };
                                    //**Start Encode**
                                    var SCH_COLORS = {
                                        SCH_OK: 'gray',
                                        SCH_OVER: 'tomato',
                                        SCH_TODAY: 'salmon',
                                        SCH_DAYSAGO_LV1: 'orange',
                                        SCH_DAYSAGO_LV2: 'lightblue'
                                    };
                                    var SCH_WORD = {
                                        SCH_OK: '済',
                                        SCH_OVER: '日遅延',
                                        SCH_TODAY: '当日',
                                        SCH_DAYSAGO: '日前'
                                    };
                                    var BODY_STYLE = {
                                        FRONT_COLOR: 'black',
                                        BACKGROUND_COLOR: 'white',
                                        BORDER_COLLAPSE: 'collapse',
                                        MARGIN: '0px',
                                        PADDING: '0px'
                                    };
                                    var TABLE_STYLE = {
                                        FRONT_COLOR: 'black',
                                        BACKGROUND_COLOR: 'white',
                                        BORDER_COLLAPSE: 'collapse',
                                        MARGIN: '1px',
                                        PADDING: '4px',
                                        BORDERCOLOR: 'darkslategray',
                                        BORDERSTYLE: 'solid',
                                        BORDERWIDTH: '1px'
                                    }; 
                                    // トリム
                                    var trim = function (s) { 
                                        return s.replace(/^\s*|\s*$/g, ''); 
                                    };
                                    // エレメント取得
                                    var ge = function (tag) {
                                        return document.getElementById(tag); 
                                    };
                                    // 日付取得
                                    var getdate = function(dts) {
                                        var dt = new Date(dts);
                                        if (isNaN(dt)) {
                                            dt = new Date((new Date()).setHours(0, 0, 0, 0)); 
                                        }
                                        return dt;
                                    };
                                    // 曜日取得
                                    var getweekday = function (dts) {
                                        return '日月火水木金土'.substr(getdate(dts).getDay(), 1); 
                                    };
                                    // 日数カウント
                                    var getdayc = function (dts) {
                                        return (getdate(dts).getTime() - getdate().getTime()) / (1000 * 60 * 60 * 24);
                                    };
                                    // フォントカラー、バックグラウンドカラー設定
                                    var setfbcolor= function (e, fc, bc) {
                                        e.style.color = fc;
                                        e.style.backgroundColor = bc;
                                    };
                                    // フォント設定
                                    var setfont = function (e) {
                                        e.style.fontFamily = CONFIG.FONT_FAMILY;
                                        e.style.fontSize = CONFIG.FONT_SIZE;
                                    };
                                    // スタイル設定
                                    var setstyle = function (e, styledic) {
                                        setfont(e);
                                        e.style.borderCollapse = styledic.BORDER_COLLAPSE;
                                        e.style.margin = styledic.MARGIN;
                                        e.style.padding = styledic.PADDING;
                                        e.clearAttributes();
                                    };
                                    // テーブルスタイル設定
                                    var settablestyle = function (e) {
                                        setstyle(e,TABLE_STYLE);
                                        e.noWrap = true;
                                        e.style.borderColor = TABLE_STYLE.BORDERCOLOR;
                                        e.style.borderStyle = TABLE_STYLE.BORDERSTYLE;
                                        e.style.borderWidth = TABLE_STYLE.BORDERWIDTH;
                                    };
                                    // データ格納用
                                    var gd = {
                                        schdata: []
                                    };
                                    // データ読み取り
                                    var getdata = function () {
                                        var d = ge('data').innerHTML.split('\\');
                                        var t, s;
                                        for (var i = 0; i < d.length; i++) {
                                            t = trim(d[i]);
                                            if (t.length > 0 && d[i].indexOf(',') >= 0) {
                                                s = t.split(',');
                                                if (s.length >= 3) {
                                                    gd.schdata[gd.schdata.length] = s;
                                                }
                                            }
                                        }
                                    };
                                    // 画面作成
                                    var formmake = function () {
                                        // body
                                        var bd = ge('body');
                                        setstyle(bd, BODY_STYLE);
                                        setfbcolor(bd, BODY_STYLE.FRONT_COLOR, BODY_STYLE.BACKGROUND_COLOR);
                                        // table
                                        var tb = document.createElement('table');
                                        tb.id = 'tbl';
                                        settablestyle(tb);
                                        // table row
                                        var s, dc, cm, bc, i, j;
                                        for (i = 0; i < gd.schdata.length; i++) {
                                            s = gd.schdata[i];
                                            var tr = tb.insertRow();
                                            settablestyle(tr);
                                            dc = getdayc(s[1]);
                                            if (s[0].toLowerCase() == SCH_RULE.OK_SIGN) { cm = SCH_WORD.SCH_OK; bc = SCH_COLORS.SCH_OK; }
                                            else if (dc < 0) { cm = -dc + SCH_WORD.SCH_OVER; bc = SCH_COLORS.SCH_OVER; }
                                            else if (dc == 0) { cm = SCH_WORD.SCH_TODAY; bc = SCH_COLORS.SCH_TODAY; }
                                            else if (dc <= SCH_RULE.DAYSAGO_LV1_DAY) { cm = dc + SCH_WORD.SCH_DAYSAGO; bc = SCH_COLORS.SCH_DAYSAGO_LV1; }
                                            else if (dc <= SCH_RULE.DAYSAGO_LV2_DAY) { cm = dc + SCH_WORD.SCH_DAYSAGO; bc = SCH_COLORS.SCH_DAYSAGO_LV2; }
                                            else { cm = dc + SCH_WORD.SCH_DAYSAGO; bc = TABLE_STYLE.BACKGROUND_COLOR; }
                                            tr.style.backgroundColor = bc;
                                            for (j = 0; j < s.length; j++) {
                                                var td = tr.insertCell();
                                                settablestyle(td);
                                                switch (j) {
                                                    case 0: td.innerHTML = cm; break;
                                                    case 1: td.innerHTML = s[j] + '(' + getweekday(s[j]) + ')'; break;
                                                    default: td.innerHTML = s[j];
                                                }
                                            }
                                        }
                                        ge('body').appendChild(tb);
                                    };
                                    // データロード
                                    window.onload = function () {
                                        //debugger;
                                        getdata();
                                        formmake();
                                        var t = ge('tbl');
                                        t.ondblclick = function() { window.close(); }
                                        var timer = null;
                                        clearTimeout(timer);
                                        timer = setTimeout(function() {
                                            var w = t.clientWidth + 4;
                                            var h = t.clientHeight + 4;
                                            window.resizeTo(w, h);
                                            window.moveTo(screen.width - w, 0);
                                        }, 1000)
                                    };
                                })();
                            </script>
                            </html>
                        

copyandrun.js2021.01.07JScriptshift_jis

[ファイル名]-copyandrun.js の名前のファイルを作成する。実行すると、同フォルダ内の[ファイル名]_save[日]形式でコピーします。
また、コピー後 [ファイル名]のファイルを実行します。


                            /*------------------------------------------------------------------------------------------------------
                                *-copyandrun.js  (* .. target file)
                            ------------------------------------------------------------------------------------------------------*/
                            (function () {
                                var APP_NAME = '-copyandrun.js'
                                var savename = '_save' + (new Date()).getDate();
                                var fso = new ActiveXObject("Scripting.FileSystemObject");
                                var wsh = WScript.CreateObject("WScript.Shell");
                                var cd = fso.GetFile(WScript.ScriptFullName).ParentFolder.Path;
                                if (cd.slice(-1) != '\\') {
                                    cd += '\\';
                                }
                                var scriptname = WScript.ScriptName;
                                var tar = scriptname.replace(new RegExp(APP_NAME + '$', 'g'),'');
                                if (tar.length > 0 && scriptname != tar) {
                                    var fulltar = cd + tar;
                                    if (wsh.Popup('Copy ' + fulltar, 0) == 1) {
                                        if (fso.FolderExists(fulltar)) {
                                            fso.CopyFolder(fulltar, fulltar + savename , true);
                                        } else if (fso.FileExists(fulltar)){
                                            var f = fso.GetFileName(fulltar);
                                            var e = fso.GetExtensionName(fulltar);
                                            e = e.length > 0 ? '.' + e : '';
                                            f.replace(new RegExp(e + '$'), '');
                                            fso.CopyFile(fulltar, cd + f + savename + e , true);
                                        }
                                    }
                                    wsh.CurrentDirectory = cd;
                                    wsh.Popup('run \"' + fulltar + '\" file.', 1000)
                                    wsh.run('\"' + fulltar + '\"', 1, false);
                                    WScript.Sleep(1000);
                                } else {
                                    wsh.Popup('File name error. Set the file name in * ' + APP_NAME + ' format.', 0, APP_NAME);
                                }
                                wsh = null;
                                fso = null;
                            })();
                        

Internet Explorerを開くリンクを表示します。


                            <html>
                            <head><title>IE起動</title></head>
                            <body><a href="about:blank" onclick="window.close()">クリックでIEを起動します。</a>
                            </html>