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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 192

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

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.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По вашему powershell-у есть топик в прикладном программировании.




Здесь только по теме, остальное в ПМ, либо открываем тему в тестировании и там выясняем. Два раза не повторяю.

Всего записей: 3406 | Зарегистр. 23-04-2009 | Отправлено: 14:00 17-02-2018 | Исправлено: KLASS, 14:03 17-02-2018
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:03 17-02-2018 | Исправлено: KLASS, 14:19 17-02-2018
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Категорически против смешивания
Люди никогда не изучат PS если их подкрепить в том заблуждении, что это разновидность батников.
 
Ни в каких "языках сценариев" нет модульности и репозиториев.
Раньше было лучше: самоделкины ваяли свои батники и презирали PS молчанием.
За счет этого здесь можно было обсуждать вещи им неинтересные.





Началось... лишь бы воду мутить, кури неделю, остынешь

Всего записей: 14882 | Зарегистр. 14-10-2001 | Отправлено: 14:39 17-02-2018 | Исправлено: KLASS, 16:24 17-02-2018
YuS_2



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

Цитата:
Категорически против смешивания  

 
 17-02-2018

Цитата:
Здесь только по теме, остальное в ПМ, либо открываем тему в тестировании и там выясняем.


Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 14:43 17-02-2018
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Какие-то сценарии псевдосценаристы придумали... Значит надо все подряд в кучу мешать: цмд, пш, вбс/жс... хрен знает чо еще в голову ударит...




Видать тоже не понял, отдохни... может дойдет

Всего записей: 10008 | Зарегистр. 11-03-2002 | Отправлено: 16:36 17-02-2018 | Исправлено: KLASS, 16:41 17-02-2018
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
эта программа делит не на куски, а на контакты. потом придется 350 контактов по одному переносить на самсунг. насколько я ее помню она криво работает к тому же и требует фреймворка, что для текстового файла перебор.
хотя разделить потом файлы на кучки и склеить батником можно. я так делал, но в итоге просто разделить на десять кусков проще. создаешь 10 пустых файлов. первый делишь пополам, суешь в 1 и 5, потом еще раз пополам и еще раз пополам. потом осталось всего то подравнять размеры, чтоб не переборщить.
 
Добавлено:
они как специально сговорились сони с самсунгом. все предусмотрели чтоб нагадить




Тему попутал?

Всего записей: 3069 | Зарегистр. 29-03-2016 | Отправлено: 17:14 17-02-2018 | Исправлено: KLASS, 17:23 17-02-2018
YuS_2



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

Цитата:
эта программа делит не на куски

Какая программа? Про программы - это в другой топик.
Вот сценарий:
run.bat

Код:
<# ::
@echo off
powershell -ex bypass -c "&{[scriptblock]::create((gc '%~f0') -join [char]10).invoke()}"
pause&exit /b
#>
$enc=[text.encoding]::getencoding("utf-8")
$tmp = new-object io.streamreader("contacts.vcf", $enc)
$cnt = 1
$tcnt = 0
$splt = 10 #количество контактов в одном файле
if($splt -le 0){
    write-host 'Finished work, invalid parameter'
    sleep -s 2
    exit
}
 
while(($str = $tmp.readline()) -ne $null){
    ac $cnt".vcf" -val $str -enc utf8
    if($str -eq "END:VCARD"){$tcnt++}
    if ($tcnt -eq $splt){
        $cnt++
        $tcnt = 0
    }
}
$tmp.close()

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 17:51 17-02-2018 | Исправлено: YuS_2, 18:10 17-02-2018
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
powershell ставить чтоб текстовый файл на куски поделить?
с фреймворком. спасибо конечно.




Мля, не ставьте, кто вас заставит то?

Всего записей: 3069 | Зарегистр. 29-03-2016 | Отправлено: 18:11 17-02-2018 | Исправлено: KLASS, 18:13 17-02-2018
YuS_2



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

Цитата:
powershell ставить чтоб текстовый файл на куски поделить?

powershell предустановлен, начиная с win7.
А вообще, да: нет желания - кто заставит-то?

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 18:18 17-02-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Что за ерунда с командами ассоциации в шапке темы? Перекочевавшая, кстати, из предыдущей. Откуда взялись все эти "sysWOW64" и "Program Files (86)" для 32-х разрядной оси? Ассоциации что для Windows x32, что для x64 не будут отличаться, от слова совсем. Ну разве только кто-то захочет использовать x32 PS на Win x64 (нафига?).
Поправьте, или, если нет возражений, могу поправить сам.

----------
Разум когда-нибудь победит





Шапку обсуждаем здесь

Всего записей: 2385 | Зарегистр. 09-02-2003 | Отправлено: 14:13 18-02-2018 | Исправлено: KLASS, 14:40 18-02-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я смотрю, скрипты в PowerShell 6 не связаны с какими-либо расширениями файлов (предыдущие версии выполняли только файлы с расширением ps1). С одной стороны это плохо - непонятно, с чем ассоциировать (особенно если нужно оставить ps1 за старым PS для совместимости). Даже инсталлятор ни с чем не ассоциирует.
С другой стороны, упрощается создание гибридных cmd-ps файлов.

Код:
<# :
@pwsh -f "%~f0" %*
@goto:eof
#>
$PSVersionTable
""
"Arguments:"
$args

В этом плане то, что теперь PS файлы без BOM воспринимает как UTF-8, оказалась даже полезной фичей (cmd BOM не воспринимает).


----------
Разум когда-нибудь победит

Всего записей: 2385 | Зарегистр. 09-02-2003 | Отправлено: 00:12 21-02-2018
YuS_2



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

Цитата:
предыдущие версии выполняли только файлы с расширением ps1

Они и в предыдущих версиях, вроде, не выполнялись напрямую, хоть ассоциации и контроль расширения присутствовали...

Цитата:
С другой стороны, упрощается создание гибридных cmd-ps файлов.

Тоже думаю, что это скорее плюс, чем минус.

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 07:42 21-02-2018
Smitis



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

Цитата:
Они и в предыдущих версиях, вроде, не выполнялись напрямую

Это легко проверяется - не выполняет, если расширение не ps1.
Цитата:
Processing -File '1.ps2' failed because the file does not have a '.ps1' extension. Specify a valid Windows PowerShell script file name, and then try again.
Поэтому и приходится извращаться типа &{[scriptblock]::create((gc '%~f0') -join [char]10).invoke()} и ещё думать, как передать в скрипт параметры.


----------
Разум когда-нибудь победит

Всего записей: 2385 | Зарегистр. 09-02-2003 | Отправлено: 10:24 21-02-2018 | Исправлено: Smitis, 10:24 21-02-2018
YuS_2



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

Цитата:
не выполняет, если расширение не ps1.

Я не о том. Скрипт необходимо принудительно запускать через powershell, в отличие от vbs, bat, js...
А по контролю расширения скрипта, я так и написал, что оно было.
 

Цитата:
Поэтому и приходится извращаться

Ну, это уже на любителя, для особо пытливых умов... а так, ведь вполне достаточно:

Код:
powershell .\script.ps1

и весь код скрипта поместить в этот файл, script.ps1.
ну, или так:

Код:
@echo off
if "%~1"=="" (set x=test) else (set "x=%~1")
powershell -c "&{$psversiontable; echo =====; echo %x%}"
pause

т.е. не сильно объемный скрипт можно и в батник уместить...

----------
scio me nihil scire

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 10:52 21-02-2018 | Исправлено: YuS_2, 11:01 21-02-2018
Smitis



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

Цитата:
Скрипт необходимо принудительно запускать через powershell, в отличие от vbs, bat, js...

Меня всегда удивляло странное отношение MS к PowerShell. С одной стороны, во всю продвигают его. С другой стороны искусственно ограничивают его использование - не подписанные скрипты не запускать, по двойному клику не запускать... А сейчас, такое впечатление, вообще пустили на самотёк

----------
Разум когда-нибудь победит

Всего записей: 2385 | Зарегистр. 09-02-2003 | Отправлено: 13:18 21-02-2018
YuS_2



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

Цитата:
С другой стороны искусственно ограничивают его использование - не подписанные скрипты не запускать, по двойному клику не запускать...

Стремление к безопасности... хоть какой-то.

Цитата:
А сейчас, такое впечатление, вообще пустили на самотёк

Дык, опенсорсже...  не совсем, наверное, но самостоятельность/самотек присутствует.

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 13:41 21-02-2018
Smitis



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

Цитата:
Стремление к безопасности... хоть какой-то.

Ага.
- Вот Вам новый скриптовый язык предназначенный для администрирования. Он заменит все предыдущие небезопасные cmd, wsh и прочие утилиты. Только им пользоваться нельзя, потому что он тоже не безопасный.
- А предыдущими небезопасными cmd, wsh и прочими теперь тоже нельзя пользоваться?
- Нет, пользуйтесь сколько хотите.
Эта "безопасность" примерно как спрятали от ребёнка зажигалку, но оставили коробок со спичками.


----------
Разум когда-нибудь победит

Всего записей: 2385 | Зарегистр. 09-02-2003 | Отправлено: 20:09 21-02-2018
YuS_2



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

Цитата:
Эта "безопасность" примерно как спрятали от ребёнка зажигалку, но оставили коробок со спичками.

Буржуины. Что с них взять?

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 12:27 22-02-2018
farag



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

Код:
 
IF (!(Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches))
{
    New-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches -Force
}
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Update Cleanup" -Name StateFlags1337 -Value 2 -Force
Start-Process "$env:SystemRoot\System32\cleanmgr.exe" "/sagerun:1337"
$WindowCode = '[DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);'
$AsyncWindow = Add-Type -MemberDefinition $WindowCode -Name Win32ShowWindowAsync -namespace Win32Functions -PassThru
$hwnd0 = (Get-Process -Name cleanmgr)[0].MainWindowHandle
$AsyncWindow::ShowWindowAsync($hwnd0, 0)
 

Надо запустить очистку диска в скрытом режиме, но не работает. Работает почему-то на Блокноте.

Всего записей: 1711 | Зарегистр. 27-07-2009 | Отправлено: 12:39 26-02-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 192

Компьютерный форум 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