/**
 * +----------------------------------------------------------------------------+
 * |                          Jeffrey M. Hunter                                 |
 * |                      jhunter@idevelopment.info                             |
 * |                         www.idevelopment.info                              |
 * |----------------------------------------------------------------------------|
 * |      Copyright (c) 1998-2009 Jeffrey M. Hunter. All rights reserved.       |
 * |----------------------------------------------------------------------------|
 * | FILE       : TempFile.js                                                   |
 * | CLASS      : Files and Directories                                         |
 * | PURPOSE    : Create a temporary file. Write to it, then read it back.      |
 * | PARAMETERS : None                                                          |
 * | USAGE      : cscript TempFile.js //NoLogo                                  |
 * | NOTE       : As with any code, ensure to test this script in a development |
 * |              environment before attempting to run it in production.        |
 * +----------------------------------------------------------------------------+
 **/

 
function main() {

    var TEMPORARY_FOLDER = 2;
    var objFSO;
    var objTempFolder, strTempFileName, strTempFileNameFull, objTempFile;
    var strOutput;
    
    
    // +---------------------------------+
    // | CREATE NEW FSO OBJECT           |
    // +---------------------------------+
    objFSO = new ActiveXObject("Scripting.FileSystemObject");
    
    
    // +---------------------------------+
    // | CREATE / WRITE TEMP FILE        |
    // +---------------------------------+
    
    objTempFolder = objFSO.GetSpecialFolder(TEMPORARY_FOLDER);
    WScript.Echo("TEMP PATH        = " + objTempFolder.Path);
    
    strTempFileName = objFSO.GetTempName();
    WScript.Echo("TEMP FILE        = " + strTempFileName);
    
    strTempFileNameFull = objTempFolder.Path + "\\" + strTempFileName;
    WScript.Echo("TEMP FILE (full) = " + strTempFileNameFull);
    
    objTempFile = objTempFolder.CreateTextFile(strTempFileName);
    
    objTempFile.WriteLine("====================================");
    objTempFile.WriteLine("TEMP FILE EXAMPLE                   ");
    objTempFile.WriteLine("====================================");
    
    objTempFile.Close();


    // +---------------------------------+
    // | READ TEMP FILE                  |
    // +---------------------------------+
    
    if (objFSO.FileExists(strTempFileNameFull)) {
        objTempFile = objFSO.OpenTextFile(strTempFileNameFull, 1, false);
        strOutput = "";
        while(!objTempFile.AtEndOfStream) {
            strOutput = objTempFile.ReadLine();
            WScript.Echo(strOutput);
        }
        objTempFile.Close();
    } else {
        WScript.Echo("ERROR: File not found!");
    }

    objFSO = null;

}


main();
WScript.Quit(0);
