2010-11-18 51 views
0

它會在PowerShell 2中引發錯誤,請問有人可以幫我轉換成PS2嗎?將此JavaScript轉換爲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

到目前爲止,您的PowerShell代碼是什麼? – Joey 2010-11-18 12:55:55

回答

1

我理解正確的什麼

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

提供你的代碼。不過,您可能需要將-Encoding參數添加到Out-File的合適參數中。

+0

那是怎麼回事?我對此很新。 – Cristobal 2010-11-18 15:52:46

+0

我需要運行Install-ClamAgent.ps1,它與JavaScript.js文件在同一個目錄中,但是在PW V2.0中運行時會引發一堆錯誤。 – Cristobal 2010-11-18 15:53:56

+0

你確實設置了執行策略,對吧? – Joey 2010-11-18 16:01:05