|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Out-File -избежать создания пустого файла |
|
PowerShell - [решено] Out-File -избежать создания пустого файла
|
Новый участник Сообщения: 25 |
Добрый день.
Имеется текстовый файл, каждая строка начинается с "1;№телефона;*". Задача проверить на соответствие маске "79*********" и записать в лог-файл, если есть некорректные телефоны $bird=$null $stringnew=$null $stringnew = (Get-Content "C:\fb\EXT.txt").Trim() #читаем файл - отрезаем возможные пробелы foreach ($bird in $stringnew) { #проверяем в цикле каждую строку на корректность номера if ($bird -notmatch '^?;79\d{9};') #шаблон { "Ошибка шаблона;"+$bird | Out-File -FilePath c:\fb\EXT_ERROR_PHONE.txt -Append #если не соответствует маске - в эррор-файл } else { $bird | Out-File -FilePath C:\fb\EXT_OUT.txt -Append #если соответствует маске - в работу } } Если строка НЕ содержит некорректный №тел - создается пустой файл EXT_ERROR_PHONE.txt Как этого избежать p\s (Get-Content "C:\fb\EXT_.txt").Trim() | Where-Object {$_ -notmatch '^?;79\d{9};'} | Out-File c:\fb\EXT_ERROR_PHONE.txt *Set-Content также себя ведет |
|
Отправлено: 15:20, 04-03-2020 |
fascinating rhythm Сообщения: 6666
|
Профиль | Отправить PM | Цитировать Пример файла дайте
|
------- Отправлено: 15:39, 04-03-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:50, 04-03-2020 | #3 |
fascinating rhythm Сообщения: 6666
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 16:54, 04-03-2020 | #4 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата solonenko:
Совпадает, если начало строки ноль или один, за которым следует точка с запятой, за ней сразу же следует символ семь, затем девять, за ней девять любых цифр и точка с запятой - Цитата solonenko:
|
|||
------- Последний раз редактировалось YuS_2, 04-03-2020 в 18:28. Отправлено: 17:42, 04-03-2020 | #5 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
За комментарий спасибо, изучу. DJ Mogarych, Спасибо |
|
Отправлено: 18:12, 04-03-2020 | #6 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата solonenko:
- так шаблоны не составляют, в этом нет смысла. Либо учитывать начало строки (тогда пишут "^"), либо не учитывать (тогда символ "^" не пишут). А квантификатор "?" обычно используют с реальными символами или классами символов... |
|
------- Отправлено: 18:28, 04-03-2020 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - CMD проверка создания файла за (сегодня вчера) с созданием флагового файла | yamixon | Скриптовые языки администрирования Windows | 5 | 17-03-2015 08:40 | |
Разное - Макрос - как избежать появления предупреждений у пользователей файла | flower | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 21-01-2015 02:37 | |
Разное - Scripting Runtime: Ошибка ReadLine из пустого файла | Gamover jr | Программирование и базы данных | 8 | 05-05-2008 09:24 | |
Время создания файла | Alexey1974 | Microsoft Windows NT/2000/2003 | 0 | 09-04-2007 20:28 | |
[решено] Способ копирования защиненного файла (Когда - File sharing violation) | RVGroup | Microsoft Windows 2000/XP | 3 | 25-10-2006 11:21 |
|