Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Закладки » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Старые и смежные темы: по CMD и в Программах | по PowerShell | В помощь системному администратору | Прикладное программирование

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
Расширение возможностей
Функции
Write-Color
Output-DebugString
Провайдеры
Готовые скрипты
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?
Книги в PDF
Cheat Sheets
 

Cmd
Для перекодирования кириллицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы
 
Готовые решения и частые вопросы
 
Описания работы команд и символов участниками темы:
setlocal enabledelayedexpansion и переменные окружения
символы & и && в командной строке
Переменная %0
 
Полезные ссылки и утилиты

WSH (VBScript, JScript)
Программирование "удобняшек" на VBScript

Примечания:
• Большие куски кода заключайте в тэг [ more ]
• Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте код без пробелов иначе сценарий может работать неправильно. Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

Всего записей: 9404 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS 2, 08:24 19-06-2021
KiloSub



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
CMD (для русской версии): systeminfo | find "Полный объем физической памяти"

или для любой

Код:
chcp 65001 >null & systeminfo | find "Total Physical Memory:"


Всего записей: 318 | Зарегистр. 30-05-2020 | Отправлено: 18:46 09-02-2021
insorg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чуть допилил пошик, работает:
Код:
@powershell -Command "(Get-WmiObject -class 'cim_physicalmemory' | Measure-Object -Property Capacity -Sum).Sum /1mb"
Хотя, не зависеть от пошика было бы удобнее.
 
KiloSubТолько пришлось 437 ставить вместо 65001.
Код:
@chcp 437 && systeminfo | find "Total Physical Memory"
Как-то можно из этого вывода вытащить только число, как в первом случае?

Всего записей: 1731 | Зарегистр. 04-11-2010 | Отправлено: 13:47 10-02-2021 | Исправлено: insorg, 13:56 10-02-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
У меня сразу отработалось в cmd

Всего записей: 1674 | Зарегистр. 27-07-2009 | Отправлено: 13:55 10-02-2021
insorg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
Видимо, что-то отличается. На 437 без проблем, самая надёжная кодировка.

Всего записей: 1731 | Зарегистр. 04-11-2010 | Отправлено: 14:29 10-02-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 1674 | Зарегистр. 27-07-2009 | Отправлено: 12:10 18-02-2021 | Исправлено: farag, 13:17 20-02-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
function test
{
    param
    (
        [Parameter(Mandatory = $true)]
        [string[]]
        $Links
    )
 
    Set-Alias -Name ControlPanel -Value "Microsoft.Windows.ControlPanel" -Force
    Set-Alias -Name Devices -Value "Microsoft.AutoGenerated.{7FF3FDB0-CFD9-F944-4722-A9E766EDE23F}" -Force
    Set-Alias -Name PowerShell -Value "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe" -Force
 
    foreach ($Link in $Links)
    {
        switch ($Link)
        {
            ControlPanel
            {
                $Link = (Get-Alias -Name $Link).Definition
                (Get-StartApps | Where-Object -FilterScript {$_.AppID -eq $Alias:ControlPanel}).Name
            }
            DevicesPrinters
            {
                $Link = (Get-Alias -Name $Link).Definition
                (Get-StartApps | Where-Object -FilterScript {$_.AppID -eq $Alias:Devices}).Name
            }
            PowerShell
            {
                $Link = (Get-Alias -Name $Link).Definition
                (Get-StartApps | Where-Object -FilterScript {$_.AppID -eq $Alias:PowerShell}).Name
            }
        }
    }
}
 
test -Links ControlPanel, DevicesPrinters
 

 
Остановился на таком подходе. Насколько он ужасен?..

Всего записей: 1674 | Зарегистр. 27-07-2009 | Отправлено: 10:38 19-02-2021 | Исправлено: farag, 13:18 20-02-2021
YuS 2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag

Цитата:
Насколько он ужасен?

Собственно, switch и предназначен для таких условий... вот, только на кой ляд там цикл?

Код:
switch (4,2,3) {
     1 {"Это один." }
     2 {"Это два." }
     3 {"Это три." }
     4 {"Это четыре." }
     3 {"Опять три, а не пять. :)"}
}
 

Всего записей: 3191 | Зарегистр. 03-02-2009 | Отправлено: 11:18 20-02-2021 | Исправлено: YuS 2, 11:19 20-02-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS 2
Собственно, все сделал, осилив!
Прикрепление ярлыков на начальный старт у текущего пользователя нативными методами
https://pastebin.com/WUnmuCRb
 

Цитата:
вот, только на кой ляд там цикл?  

Потому, что там test -Links ControlPanel, DevicesPrinters хотелось...
Но сейчас уже по-другому.

Всего записей: 1674 | Зарегистр. 27-07-2009 | Отправлено: 13:17 20-02-2021 | Исправлено: farag, 13:19 20-02-2021
YuS 2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag

Цитата:
Потому, что там test -Links ControlPanel, DevicesPrinters хотелось...

а код, я там для красоты показал?
Не нужен там цикл...

Всего записей: 3191 | Зарегистр. 03-02-2009 | Отправлено: 17:08 20-02-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS 2
А как тогда, если у аргумента есть функции?.. То, что сверху, уже не актуально. Смотри ссылку ниже.

Всего записей: 1674 | Зарегистр. 27-07-2009 | Отправлено: 17:45 20-02-2021 | Исправлено: farag, 17:45 20-02-2021
YuS 2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag

Цитата:
А как тогда, если у аргумента есть функции?

Не знаю, зачем там присутствует сознательное создание ситуации с неоднозначным выполнением функции, ибо непонятно для чего назначаются алиасы совпадающие с именами элементов массива параметров самой функции и при этом же, есть совпадения с условиями оператора переключателя... да и наличие нигде не задействованной переменной $link внутри выполняемых команд переключателя, которой присваиваются свойства .definition, тоже непонятно ... правда это уже немного про другое.
 
Но если переписать твою функцию с циклом отсюда  Цитата, то она могла бы быть такой:

Код:
function test {
    param (
        [Parameter(Mandatory = $true)]
        [string[]]
        $Links
    )
 
 
    switch ($Links) {
        ControlPanel {
            Set-Alias -Name ControlPanel -Value "Microsoft.Windows.ControlPanel" -Force
            $Link = (Get-Alias -Name 'ControlPanel').Definition
            (Get-StartApps | Where-Object -FilterScript {$_.AppID -eq $Alias:ControlPanel}).Name
        }
        DevicesPrinters    {
            Set-Alias -Name Devices -Value "Microsoft.AutoGenerated.{7FF3FDB0-CFD9-F944-4722-A9E766EDE23F}" -Force
            $Link = (Get-Alias -Name 'DevicesPrinters').Definition
            (Get-StartApps | Where-Object -FilterScript {$_.AppID -eq $Alias:Devices}).Name
        }
        PowerShell {
            Set-Alias -Name PowerShell -Value "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe" -Force
            $Link = (Get-Alias -Name 'PowerShell').Definition
            (Get-StartApps | Where-Object -FilterScript {$_.AppID -eq $Alias:PowerShell}).Name
        }
    }
}
 
test -Links ControlPanel, DevicesPrinters

 
- все совпадения случайны, в том смысле, что проверка правильности выполняемых команд  <action>, из оператора switch, лежит на составителе функции... как-то так.  
 
 

Цитата:
То, что сверху, уже не актуально. Смотри ссылку ниже.

Думаешь, что желание разобрать чужой код на составляющие у меня перевесит мою лень? Особенно код в таком количестве, учитывая, что при этом о задаче в целом, не имеется ни малейшего представления... Ты слишком оптимистичен.

Всего записей: 3191 | Зарегистр. 03-02-2009 | Отправлено: 22:13 20-02-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://pastebin.com/raw/RWvdyLdK
 
Как принудительно указать, что аргумент -UnpinAll может стоять только в начале, но не в конце. Чтобы нельзя было его указать после всех аргументов?
 
begin/process избавил от страданий.
https://www.youtube.com/watch?v=4laH4zZgYvA

Всего записей: 1674 | Зарегистр. 27-07-2009 | Отправлено: 09:01 25-02-2021 | Исправлено: farag, 09:46 25-02-2021
newhk



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, привет!
Подскажите пожалуйста, в чем разница между:
 
$a = '\\comp\c$\windows\system32\drivers\etc\hosts'
и
$a2 = '\\' + 'comp' + '\c$\windows\system32\drivers\etc\hosts'
 
В первой варианте  
test-path $a  -  дает true
 
А во втором  
test-path $a2  -  false
 
Добавлено:

Цитата:
Народ, привет!
Подскажите пожалуйста, в чем разница между:
 
$a = '\\comp\c$\windows\system32\drivers\etc\hosts'
и
$a2 = '\\' + 'comp' + '\c$\windows\system32\drivers\etc\hosts'
 
В первой варианте  
test-path $a  -  дает true
 
А во втором  
test-path $a2  -  false

Где-то опечатка.
Отбой

Всего записей: 315 | Зарегистр. 02-02-2009 | Отправлено: 11:31 25-02-2021
Rapunzi



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!  
Вот на первом скрине список имен файолов
   
 
 
 мне нужен скрипт-ghibr. который бы следующим образом менял имя файла
 1. дописать ноль к САМОЙ ПЕРВОЙ цифре в имени, ЕСЛИ В ИМЕНИ ЕЩЕ БУДУТ ЦИФРЫ, ТО НЕ НАДО!
2. удалить точку посое опять же цифры. Если в имени еще есть точки, то их не трогать никак
3. вместо точки нужен пробел, тире,пробел
 
 Короче чтоб стало так вот как на втором скрине  
 
 
  Возможно?

Всего записей: 529 | Зарегистр. 20-01-2017 | Отправлено: 16:02 02-03-2021
clio77



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 2427 | Зарегистр. 27-10-2003 | Отправлено: 19:58 02-03-2021 | Исправлено: clio77, 21:20 02-03-2021
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Во такой батник:

Код:
 
echo on
set from=D:\7                                                                                              
for /f "tokens=1* delims=." %%A in ('dir %from% /a-d/b "*. .fb2"') do ren %from%\"%%A.%%B" "0%%A -%%B"    
pause                                                                                                      
 

 
при условии , что файлы имеют  четкое именование вида:
33 - name3.file5_text7.fb2
то есть число, затем точка, затем пробел, затем имя, и расширение fb2
проверь на тестовой папке

----------
В сортире лучше быть юзером, чем админом...

Всего записей: 10595 | Зарегистр. 10-12-2003 | Отправлено: 13:58 03-03-2021 | Исправлено: ipmanyak, 13:59 03-03-2021
Rapunzi



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ipmanyak
батник прямо из папки с сами файлами запускал, и нет и не сработал
Посмотрите моржет где ошибка
https://www.upload.ee/files/12957919/3._______________.zip.html
 

Всего записей: 529 | Зарегистр. 20-01-2017 | Отправлено: 15:00 03-03-2021
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rapunzi
специально для тебя создал переменную
set from=D:\7  
путь к папке с файлами
но ты почему-то  не обращаешь на это внимание!
рихтуй под себя D:\7

----------
В сортире лучше быть юзером, чем админом...

Всего записей: 10595 | Зарегистр. 10-12-2003 | Отправлено: 15:46 03-03-2021
Beeboba



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
empty
not exist

Всего записей: 75 | Зарегистр. 15-01-2002 | Отправлено: 10:00 04-03-2021 | Исправлено: Beeboba, 08:21 09-03-2021
Taran2ul



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, помогите навести порядок в аудиокнигах.
Есть файлы

Код:
Силверберг Роберт - Торговец индульгенциями.mp3
Силверберг Роберт - Увидеть невидимку.mp3
Сойер Роберт - Сброшенная кожа.mp3
Хайнлайн Роберт - Дом, который построил Тил.mp3
Хайнлайн Роберт - Наш прекрасный город.mp3

нужно скриптик (желательно cmd) чтобы распихать эти файлы по папкам в виде
Автор\Название книги\Книга.mp3
например

Код:
Силверберг Роберт\Торговец индульгенциями\Силверберг Роберт - Торговец индульгенциями.mp3
Силверберг Роберт\Увидеть невидимку\Силверберг Роберт - Увидеть невидимку.mp3
Сойер Роберт\Сброшенная кожа\Сойер Роберт - Сброшенная кожа.mp3
Хайнлайн Роберт\Дом, который построил Тил\Хайнлайн Роберт - Дом, который построил Тил.mp3
Хайнлайн Роберт\Наш прекрасный город\Хайнлайн Роберт - Наш прекрасный город.mp3

Всего записей: 451 | Зарегистр. 18-02-2008 | Отправлено: 18:59 06-03-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Закладки » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru