Пустой .csv с заголовками показывает количество как '1'.Когда в .csv есть одна запись, счетчик по-прежнему отображается как «1» - PullRequest
0 голосов
/ 02 июля 2019

У нас есть файл .csv с заголовками, который ежедневно заполняется автоматически мобильными устройствами, зарегистрированными в нашем MDM, но не заносится в базу данных наших устройств.

У меня есть скрипт для анализа .csv, пометки устройств в консоли и отправки по электронной почте в службу поддержки для расследования.Сценарий выполняет подсчет строк, но сталкивается с проблемой, когда данных нет, то есть строки пусты, за исключением заголовков.Я предполагаю, что это потому, что у скрипта нет данных для выполнения действий, но когда это происходит, счетчик по-прежнему отображается как «1».

Когда есть только одна строка, заполненная данными, счетчик по-прежнему отображается как «1», однако всегда показывает правильные значения при заполнении большего количества данных (строк).

Я предполагаюМоим лучшим решением было бы просто кодировать в «сценарий уничтожения сценария», то есть, если в электронной таблице нет данных, сценарий должен остановиться.

Я также хотел отправить электронное письмо в службу поддержки, только если в файле .csv есть данные.

Любые предложения будут полезны.

Я пробовал много способов подсчета строк, но когда электронная таблица пуста, она все равно считает заголовок.Заголовок не учитывается при заполнении строк.

# Path to file
$NoICK = Import-Csv \\server\folder\TrueUp.csv

#Device Counts
$devicecount = ($NoICK | Measure-Object).Count 

# Creates a copy file and tags all devices (function not show here)
Foreach ($item in $NoICK){

    $noICK | Export-Csv -Path $path -NoTypeInformation 

    tag_NoICKregistration $item.device_id
}  

# Only send email to support if there are devices     
If ($devicecount -gt '0'){

    Send-MailMessage -From $smtpFrom -To $smtpTo -Subject $messageSubject -Body $body -SmtpServer $smtpServer
}

Если истинный счетчик равен нулю, то есть данные не были введены в файл .csv, я бы хотел, чтобы сценарий остановился после создания копии и не отправлял электронное письмо.

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