Re: Windows vs Linyx
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.06.03 07:50
Оценка: 1 (1)
Здравствуйте, VCoder, Вы писали:

Эй, господа линуксоиды, изобразите мне примерно следующее на линуховых средствах:

Здесь простенький стилшит примеяется к простеньклму документу

var xmlstr = "<object><name>apple</name><color>Red</color></object>";
var xsltstr = '<?xml version="1.0"?>' + 
      '<xsl:stylesheet ' +
      '      version="1.0" ' +
      '      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> '+
      '   <xsl:output method="text"/> '+
      '   <xsl:template match="/object"> '+
      '      <xsl:value-of select="color"/> '+
      '      <xsl:text> </xsl:text> '+
      '      <xsl:value-of select="name"/> '+
      '   </xsl:template> '+
      '</xsl:stylesheet>';

var xmldom, xsltdom;
try {
   xmldom  = new ActiveXObject("MSXML2.DOMDocument.4.0");
   xmldom.validateOnParse = true;
   xmldom.async = false;
   xmldom.resolveExternals = false;
   xmldom.loadXML(xmlstr);
   xsltdom = new ActiveXObject("MSXML2.DOMDocument.4.0");
   xsltdom.validateOnParse = true;
   xsltdom.async = false;
   xsltdom.resolveExternals = false;
   xsltdom.loadXML(xsltstr); 

   output = xmldom.transformNode(xsltdom);
   WScript.echo(output);
}
catch(err) {
   WScript.echo(err.description);
}


А так же и это — список компов в сети впихивается в эксель ! — потом его можно обрабатывать чз тот же скрипт но уже средствами экселя, а не из коммандной строки


// взято у Алекса Ширшова

var root = GetObject("LDAP://RootDSE");
var s = "LDAP://" + "cn=computers," + root.Get("RootDomainNamingContext")
var comps = GetObject(s)
var enumcomps = new Enumerator(comps);
var excel = WScript.CreateObject("Excel.Application");
excel.Workbooks.Add;
excel.Columns("A:A").ColumnWidth = 20;
excel.Columns("B:B").ColumnWidth = 20;
excel.visible = 1;
var j = 0;
for(var i = 1;!enumcomps.atEnd();enumcomps.moveNext(),i++,j++)
{
    var comp = enumcomps.item();
    var compname = comp.Name.substr(3);
    excel.range("A" + i).FormulaR1C1 = compname;
    excel.range("A" + i).Font.Bold = 1;
//    excel.range("D" + i).FormulaR1C1 = comp.Processor;
    try{
        var c = GetObject("WinNT://CENTER/" + compname + "/Administrators,group");
        
        var Locator = WScript.CreateObject("WbemScripting.SWbemLocator");
        var Serv = Locator.ConnectServer(compname);
        var cmp = Serv.Get("Win32_ComputerSystem=\" + compname + \"");
        if (cmp.UserName != null)
            excel.range("C" + i).FormulaR1C1 = cmp.UserName;
        else
            excel.range("C" + i).FormulaR1C1 = "None";

        var members = new Enumerator(c.Members());
        for(;!members.atEnd();members.moveNext(),i++)
        {
            var member = members.item();
            excel.range("B" + i).FormulaR1C1 = member.Name;
        }
        i--;
    }
    catch(e){};
}
excel.range("A" + i).FormulaR1C1 = "Total " + j;


Все эти скрипты написаны на JS, но управляют внешними средствами.

В Линуксе в случае использования Питона и Перла придется сделать две библиотеки, которые реализуют те же самые возможности — управление внешней программой.

Надеюсь наглядно показано, что мощная библиотека попросту не нужна для JS ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.