Преобразуйте этот JavaScript в PowerShell 2 - PullRequest
0 голосов
/ 18 ноября 2010

Выдает ошибки в PowerShell 2, может кто-нибудь помочь мне преобразовать в PS2, пожалуйста?

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));

1 Ответ

1 голос
/ 18 ноября 2010

А как же

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.

...