Запись случайного числа в файл
Здраствуйте.
Помогите со следующей задачей
есть файл *.txt в нем есть строка, где помимо всего остального есть "newacc.1" нужно что бы скрипт вставлял вместо этого числа случайное целое число, допустим от 1 до 250
|
Powershell:
Код:
$a = get-random -max 250
(gc file.txt) -replace 'newacc\.\d+',"newacc.$a" | sc file.txt
|
Цитата:
Цитата Foreigner
$a = get-random -max 250
(gc file.txt) -replace 'newacc\.\d+',"newacc.$a" | sc file.txt »
|
сори, но power shell не подошел, на сколько помню то не на всех машинах с первого раза запуститься (что то тм с политикой безопасности надо выставлять)
|
Тогда возьмите WSH:
Скрытый текст
Код:
Option Explicit
Const ForWriting = 2
Dim strSourceFile
Dim strContent
strSourceFile = "C:\Мои проекты\33\0001.txt"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
With .OpenTextFile(strSourceFile)
strContent = .ReadAll()
.Close
End With
With WScript.CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = True
.Pattern = "(newacc\.)\d+"
If .Test(strContent) Then
Randomize Timer
strContent = .Replace(strContent, "$1" & CStr(Int(250 * Rnd() + 1)))
Else
WScript.Echo "Can't find pattern [" & .Pattern & "] in file content."
WScript.Quit 2
End If
End With
With .OpenTextFile(strSourceFile, ForWriting)
.Write strContent
.Close
End With
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 1
End If
End With
WScript.Quit 0
Цитата:
Цитата null999
что то тм с политикой безопасности надо выставлять »
|
Нет. Просто однократно разрешить исполнение локальных неподписанных скриптов. Может быть, даже можно и групповой политикой (не интересовался).
|
Iska, спасибо, подошел ваш вариант
|
Время: 14:33.
© OSzone.net 2001-