2010-11-18 6 views
0

Es wirft Fehler in PowerShell 2, kann jemand mir bitte auf PS2 konvertieren?Konvertieren Sie dieses JavaScript in PowerShell 2

var args = WScript.Arguments 
var FSO = new ActiveXObject("Scripting.FileSystemObject"); 
var src = FSO.OpenTextFile(args(0)); 
var dst = FSO.CreateTextFile(args(0) + ".tmp"); 
var tmpline; 
var re = new RegExp("%" + args(1) + "%","ig"); 

while(!src.AtEndOfStream) 
{ 
    tmpline = src.ReadLine(); 
    tmpline = tmpline.replace(re, args(2)); 
    dst.WriteLine(tmpline); 
} 

src.Close(); 
dst.Close(); 
FSO.DeleteFile(args(0)); 
FSO.MoveFile(args(0) + ".tmp", args(0)); 
+0

Was ist Ihr PowerShell-Code bisher? – Joey

Antwort

1

Was

Get-Content $args[0] ` 
    | ForEach-Object { $_ -replace "%$($args[1])%", $args[2] } ` 
    | Out-File ($args[0] + '.tmp') 
Move-Item ($args[0] + '.tmp') $args[0] -Force 

vorausgesetzt ich Ihren Code richtig verstanden. Möglicherweise müssen Sie jedoch den Parameter -Encoding mit einem geeigneten Argument zu Out-File hinzufügen.

+0

wie ist das? Ich bin sehr neu dazu. – Cristobal

+0

Ich muss Install-ClamAgent.ps1 ausführen, in demselben Verzeichnis ist diese JavaScript.js-Datei, aber wenn es in PW V2.0 ausgeführt wird, löst es eine Reihe von Fehlern aus. – Cristobal

+0

Sie haben die Ausführungsrichtlinie festgelegt, oder? – Joey