08/06/23 14:05:37 0z5/ZZHn
こんなもんか?
@if(0)==(0) echo off
cscript //Nologo //E:JScript "%~f0" %*
goto :EOF
@end
Array.prototype.shift = function() {
var r = this[0];
for(var i=1; i<this.length; i++)
this[i-1] = this[i];
this.length--;
return r;
}
var FSO = new ActiveXObject("Scripting.FileSystemObject");
var args = new Array();
for(var e = new Enumerator(WScript.Arguments); !e.atEnd(); e.moveNext())
args[args.length] = e.item();
var append_mode = false;
if(args[0]=="-a") {
append_mode = true;
args.shift();
}
var files = new Array();
while(args.length > 0)
files[files.length] = (append_mode ? FSO.OpenTextFile(args.shift(),8,true)
: FSO.CreateTextFile(args.shift(),true));
while(!WScript.StdIn.AtEndOfStream) {
var c = WScript.StdIn.Read(1);
WScript.StdOut.Write(c);
for(var i=0; i<files.length; i++) files[i].Write(c);
}
for(var i=0; i<files.length; i++)
files[i].Close();