Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.05.2022
Сообщений: 1

Комментарии к скрипту

15.05.2022, 12:27. Показов 2404. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, родные. Я очень хочу изучить повершелл на примерах, и даже нашел скрипт, который был бы полезен в моей сфере деятельности, но я пока что очень слабо разбираюсь в том, что в нем происходит. Не могли бы вы объяснить этот код вплоть до каждой точки и атрибута? Я сам хочу научиться писать подобное, но вообще не понимаю откуда взялись вещи вроде explorer, IO и тд.,такое даже загуглить невозможно. Буду очень благодарен!!!

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
$PathToMonitor = "C:\shifr"
 
explorer $PathToMonitor
 
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher
$FileSystemWatcher.Path  = $PathToMonitor
$FileSystemWatcher.IncludeSubdirectories = $true
 
# make sure the watcher emits events
$FileSystemWatcher.EnableRaisingEvents = $true
 
# define the code that should execute when a file change is detected
$Action = {
    $details = $event.SourceEventArgs
    $Name = $details.Name
    $FullPath = $details.FullPath
    $OldFullPath = $details.OldFullPath
    $OldName = $details.OldName
    $ChangeType = $details.ChangeType
    $Timestamp = $event.TimeGenerated
    $text = "{0} was {1} at {2}" -f $FullPath, $ChangeType, $Timestamp
    Write-Host ""
    Write-Host $text -ForegroundColor Green
    
    # you can also execute code based on change type here
    switch ($ChangeType)
    {
        'Changed' { "CHANGE" }
        'Created' { "CREATED"}
        'Deleted' { "DELETED"
            # uncomment the below to mimick a time intensive handler
            <#
            Write-Host "Deletion Handler Start" -ForegroundColor Gray
            Start-Sleep -Seconds 4    
            Write-Host "Deletion Handler End" -ForegroundColor Gray
            #>
        }
        'Renamed' { 
            # this executes only when a file was renamed
            $text = "File {0} was renamed to {1}" -f $OldName, $Name
            Write-Host $text -ForegroundColor Yellow
        }
        default { Write-Host $_ -ForegroundColor Red -BackgroundColor White }
    }
}
 
# add event handlers
$handlers = . {
    Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Changed -Action $Action -SourceIdentifier FSChange
    Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Created -Action $Action -SourceIdentifier FSCreate
    Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Deleted -Action $Action -SourceIdentifier FSDelete
    Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Renamed -Action $Action -SourceIdentifier FSRename
}
 
Write-Host "Watching for changes to $PathToMonitor"
 
try
{
    do
    {
        Wait-Event -Timeout 1
        Write-Host "." -NoNewline
        
    } while ($true)
}
finally
{
    # this gets executed when user presses CTRL+C
    # remove the event handlers
    Unregister-Event -SourceIdentifier FSChange
    Unregister-Event -SourceIdentifier FSCreate
    Unregister-Event -SourceIdentifier FSDelete
    Unregister-Event -SourceIdentifier FSRename
    # remove background jobs
    $handlers | Remove-Job
    # remove filesystemwatcher
    $FileSystemWatcher.EnableRaisingEvents = $false
    $FileSystemWatcher.Dispose()
    "Event Handler disabled."
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2022, 12:27
Ответы с готовыми решениями:

Комментарии к скрипту
прокомментируйте код #!/bin/sh &amp;&amp; echo &quot;неверное число аргументов&quot; &amp;&amp; exit 1 $$ echo &quot;$3 не является каталогом&quot; $$ exit 2 ...

Удалить из строки комментарии вида '/* ... */". Игнорировать вложенные комментарии.
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; int main(int argc, char *argv) { ...

Удалить из строки комментарии вида '/* . */". Игнорировать вложенные комментарии
Всем привет! есть строка вида : char str=&quot;abc/*111/*def/*222*/ghi*/333*/jkl&quot;; нужно получить abc /*def ghi*/ jkl Реально ли так...

2
 Аватар для volodin661
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,812
15.05.2022, 15:13
Цитата Сообщение от starflow Посмотреть сообщение
нашел скрипт, который был бы полезен в моей сфере деятельности
и какая же сфера деятельности, наблюдение за файловой системой ?


Цитата Сообщение от starflow Посмотреть сообщение
Не могли бы вы объяснить этот код
Это художественно оформленная powershell-реализация работы C# об'екта

FileSystemWatcher Class

( https://docs.microsoft.com/en-... ew=net-6.0 ),

который в свою очередь является надстройкой над Win32 библ. функцией FindFirstChangeNotification и системными

сервисами синхронизации об'ектов ядра WaitForSingleObject, WaitForMultipleObjects

Добавлено через 2 минуты
Цитата Сообщение от starflow Посмотреть сообщение
Не могли бы вы объяснить этот код вплоть до каждой точки и атрибута?
бесплатно - нет.
0
0 / 0 / 0
Регистрация: 18.08.2016
Сообщений: 32
23.11.2023, 12:44
Цитата Сообщение от starflow Посмотреть сообщение
и даже нашел скрипт, который был бы полезен
У вас какой-то странный подход к обучению.
Вспомните школу, начинают ведь с 1+1, а не берут за пример курсовую по матану из ВУЗа и начинают её разбирать.
Вспомните HelloWorld. Вот с переменных и начните.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2023, 12:44
Помогаю со студенческими работами здесь

Комментарии: Не видна форма отправки комментариев и сами комментарии
Доброго всем времени суток, у меня такая вот проблема попробую объяснить всё по порядку. У меня сайт на движке ВП и я решил написать...

Конвертировать комментарии из Facebook-а в нормальные комментарии WordPress
Привет всем, извиняюсь чио пишк здесь но у меня нет доугова выхода, вот нужно сменить домен сайта, да не легкая задача но думаю справлюсь с...

Подскажите по скрипту
Меня попросили помочь перенести отображение главной страницы с сайта на движке ImageCMS Shop 4.6.1 на сайт на ImageCMS Shop 4.8.1. И...

Путь к скрипту js
Подскажите, пожалуйста, каким образом можно вычислить путь, где находится скрипт. Скрипт slick slide, плагина нету Платформа...

Вопросы по скрипту
Как правильно воткнуть java скрипт на html страницу? Текстом скрипта прямо в html файл, или ссылкой на отдельный файл? Во втором случае,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru