|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Как пересчитывают значение переменных |
|
PowerShell - Как пересчитывают значение переменных
|
Пользователь Сообщения: 122 |
В связи с попытками разобраться с PS постоянно появляются вопросы, объясните пожалуйста вот эту простую вещь:
$TestFolder = "c:\temp\testfolder" $TestFile = $TestFolder + "\newfile.txt" if (-not(Test-Path $TestFolder)) { New-Item $TestFolder -ItemType "Directory" } if (Test-Path $TestFile) { Remove-Item $TestFile -Force } $files = (Get-ChildItem $TestFolder -File) function CreateFile { IF (-not(Test-Path $TestFolder)) { New-Item $TestFile -ItemType "file" } } if ($files.count -eq 0) { CreateFile } if ($files.count -eq 0) { echo "Why count = 0 ?" } Как пересчитывают значение $files.count заново: $files = (Get-ChildItem $TestFolder -File) - это понятно но нет ли способа $files.count в скобки какие нибудь взять или не знаю... обновить переменную |
|
Отправлено: 16:03, 10-12-2015 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать $RemoteHost = "computer1" $Command = "d:\vlc 210.exe" Invoke-Command -ComputerName $RemoteHost -ScriptBlock {param($Command) cmd.exe /c """$Command"" /L=1033 /S" } -ArgumentList $Command By default, any variables in the command are evaluated on the remote computer. To include local variables in the command, use the ArgumentList parameter. Для передачи параметров в удаленную сессию, используем параметр ArgumentList. Или $using:variable: |
Последний раз редактировалось Kazun, 14-12-2015 в 12:35. Отправлено: 12:30, 14-12-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Kazun, Да так сработало, спасибо, а почему $Command пришлось вставлять в параметры и в -ArgumentList там же нет аргументов, напишите плиз как лучше передавать путь и аргументы в цикл (хочу написать скрипт по авто-установке тонны софта на тонну компьютеров)
Foreigner, Ваша запись не сработала (сложность в том что путь к исполняющему файлу написан через пробел и поэтому его необходимо взять в кавычки и передать вместе с аргументами) Georgio, Ваша запись тоже не сработала ![]() Iska, А не подскажите почему у меня в ISE вываливаются такие знаки? Спасибо всем кто отвечает без вас было бы на много сложнее разобраться во всем этом аде! |
Отправлено: 14:43, 14-12-2015 | #12 |
Забанен Сообщения: 793
|
Цитата Iska:
PS D:\src> (gci -r | ? {!$_.PSIsContainer}).Count 128 PS D:\src> $global:count = (gci -r | ? {!$_.PSIsContainer}).Count PS D:\src> $fsw = New-Object IO.FileSystemWatcher('D:\src', '*.*') -Property @{ >> IncludeSubdirectories = $true >> NotifyFilter = [IO.NotifyFilters]'FileName' >> } >> PS D:\src> $onc = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action { >> $global:count++ >> } >> PS D:\src> ni foobar -Type file Каталог: D:\src Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 14.12.2015 17:25 0 foobar PS D:\src> $count 129 PS D:\src> [void](ni foobar1 -Type file) PS D:\src> $count 130 PS D:\src> Unregister-Event -SourceIdentifier FileCreated PS D:\src> |
|
Отправлено: 15:26, 14-12-2015 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата c4uran:
greg zakharov, там сам экземпляр объекта обновляет свои свойства, следя за файловой системой. Согласитесь, это совсем не то, о чём говорил автор. |
|
Отправлено: 16:31, 14-12-2015 | #14 |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Подскажите такой момент:
в одной директории лежат 2 файла - script.ps1 и functions.ps1 в файле script.ps1 есть строка: которая вываливает такую ошибку: . : Имя "functions.ps1" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку. + . functions.ps1 + ~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (functions.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException т.е я пытаюсь из скрипта вызвать другой скрипт с функциями, почему он не находит этот файл и вываливает такое? |
Отправлено: 11:05, 15-12-2015 | #15 |
Ветеран Сообщения: 1758
|
|
Отправлено: 18:45, 15-12-2015 | #16 |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:44, 16-12-2015 | #17 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:54, 16-12-2015 | #18 |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:37, 16-12-2015 | #19 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:46, 16-12-2015 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как получить значение параметра из реестра, добавить значение в текстовый файл etc.? | Dark Ange1 | Скриптовые языки администрирования Windows | 28 | 22-06-2022 14:37 | |
Загрузка - XP SP3. Значение «громкость» сбрасывается в среднее значение при перезагрузке. | mitkadritka | Microsoft Windows 2000/XP | 9 | 24-02-2012 20:37 | |
CMD/BAT - [решено] Как организовать вызов bat с большим количеством переменных и их обработку? | seriych | Скриптовые языки администрирования Windows | 13 | 27-01-2011 15:48 | |
Как определить кодировку строки передаваемой как значение параметра OLE-серверу Excel | RUVATA | AutoIt | 12 | 13-12-2010 23:22 | |
[решено] Как подсчитать сумму нескольких переменных | Не флужу | AutoIt | 4 | 13-08-2009 06:24 |
|