PowerShell - Add-Content - невозможно добавить несколько файлов в файл - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь добавить выражение в файл журнала, который содержит дату, время и некоторые данные, разделенные ";". К сожалению, я получаю сообщение об ошибке каждый раз, когда меняю положение элементов в скобках -value.

В чем дело?

Это код:

Add-Content -path C:\...\outlog.txt -Value($Date + ';' + $Time + ';Checked;' + $strFileName)

Это ошибка:

Cannot convert argument "1", with value: ";", for "op_Addition" to type "System.TimeSpan": "Cannot convert 
value ";" to type "System.TimeSpan". Error: "String was not recognized as a valid TimeSpan.""
At C:\...\Untitled1.ps1:8 char:64
+ ... \outlog.txt -Value($($Date + ';' + $Time + ';'+ $str))
+                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument

1 Ответ

0 голосов
/ 26 апреля 2018

Попробуйте это -

Add-Content -path C:\...\outlog.txt -Value("$Date; $Time; Checked; $strFileName")

Если вы посмотрите на get-help Add-Content -full и посмотрите на параметр -value, вы увидите -

-Value <Object[]>
    Specifies the content to be added. Type a quoted string, such as "This data is for internal use only", or
    specify an object that contains content, such as the DateTime object that Get-Date generates.

    You cannot specify the contents of a file by typing its path, because the path is just a string, but you can
    use a Get-Content command to get the content and pass it to the Value parameter.

    Required?                    true
    Position?                    1
    Default value                None
    Accept pipeline input?       True (ByPropertyName, ByValue)
    Accept wildcard characters?  false

Он говорит, что ожидает quoted string или object that contains content. В вашем случае он отсутствовал, и поэтому оператор + пытался добавить $date и time.

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