PowerShell: мой успешно записанный ConfigFile исчез, как только сценарий завершится? - PullRequest
1 голос
/ 18 апреля 2011

мой скрипт хранит значения ключей в хэше, чтобы строка с этими ключами больше не обрабатывалась.Каждый раз, когда новый ключ сохраняется, сохраняется его:

function readConf($File) {<br>
    $H = @{}<br>
    if (test-path -path $File) { <br>
        Get-Content $File | ForEach-Object { <br>
            $x = $_ -replace "-", ""<br>
            $x = $x -replace "Name", ""<br>
            $x = $x -replace "Value", ""<br>
            $x = $x.Trim()<br>
            $L = $x -split "\s{3,}"<br>
            #echo(" ok: "+$L+"
            $H[ $L[0] ] = $L[1]<br>
            $H.Neu = Get-Date  -uformat "%Y.%m.%d %H:%M:%S"    <br>
        } <br>
    }<br>
    $H<br>
}<br>
hConf = readConf($confFile) # no problem so far"<br>
...<br>
while ($true) {<br>
...<br>
if ( $hConf[$key] ) { continue }<br>
$hConf[$key] = $val<br>
$hConf > $confFile
...<br>
} # end of endless while

Пока работает этот скрипт, я могу видеть и открывать этот configFile, все есть, что должно быть.Но как только я остановлю скрипт (по Ctrl-c или в ISE нажми на красную кнопку) мой configfile пропадет, он просто исчезнет *
Другие файлы, которые были записаны в одно и то же время построчно, все еще существуют?

Конечно, я проверяю, что я не могу удалить файл, но даже если по какой-либо причине я сохраню пустой хеш, мне кажется, что я вижу пустой файл - но файл конфигурации пропал?

Кто-нибудь знает резонанс для этого?Заранее спасибо,
gooly

1 Ответ

2 голосов
/ 18 апреля 2011

Я не совсем понимаю, что вы пытаетесь сделать, но:

$hConf > $confFile

выглядит неправильно.Вы, вероятно, хотите:

$hConf >> $confFile

или

$hConf | out-file -append $conffile

-Oisin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...