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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

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

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

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VidelSamogO
fsutil hardlink list ИмяФайла
 
Выводит список хардлинков для файла.

 
Не работает под XP ((

Всего записей: 350 | Зарегистр. 01-08-2003 | Отправлено: 02:40 25-03-2018 | Исправлено: Rushmore, 00:18 26-03-2018
LevT



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

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 03:24 25-03-2018
Rushmore



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT, VidelSamogO
Извиняюсь за дезу, fsutil hardlink list не работает под XP.

Всего записей: 350 | Зарегистр. 01-08-2003 | Отправлено: 00:17 26-03-2018 | Исправлено: Rushmore, 00:22 26-03-2018
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
господа, добрый день.
есть у меня такой вопрос:
в наличие батник, который мне накидывали здешние старожилы для чистки временных папок и папки лисы (там почему то появлялись файлы tmp, теперь их нет).
 
появилась новая задача удалять краш дампы приложений.
вобщем вот это
Код:
if exist %USERPROFILE%\AppData\Local\CrashDumps del /f/q %USERPROFILE%\AppData\Local\CrashDumps\* > null  
- автор Виктор_ВГ.
 
нужно корректно добавить сюда, а чистку папки с лисой закоментировать если можно, если нет то удалить:  
cleartemp.bat

Код:
@echo off
chcp 1251
(for /f "delims=" %%i in ('dir /b/s/a "%temp%" "%tmp%" "%windir%\temp"') do (
    rd /s/q "%%i" 2>nul
    del /f/s/q/a "%%i" 2>nul
)
del /f/s/q/a "%programfiles%\Mozilla Firefox\*.tmp" 2>nul)>%temp%\delete.log
notepad %temp%\delete.log
del %temp%\delete.log

 
заранее благодарю откликнувшихся!

----------
animelist

Всего записей: 7413 | Зарегистр. 11-03-2004 | Отправлено: 16:40 28-03-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт в копилку полезных...
script.ps1
script.ps1
 
 
 
 
 

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 13:53 02-04-2018 | Исправлено: YuS_2, 21:24 17-09-2019
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
а мой запрос выше не поможете оформить? уж больно долго ответа нет, а он актуален.
вот прямо сейчас играю, а игрулька крашится и срёт гадит дампами на диск с ОС (ssd).
---
заранее благодарю!
надеюсь после слияния тем - топик батников не умер и умелые люди не ушли.

----------
animelist

Всего записей: 7413 | Зарегистр. 11-03-2004 | Отправлено: 00:36 03-04-2018
YuS_2



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

Цитата:
а мой запрос выше не поможете оформить? уж больно долго ответа нет, а он актуален.  

Ну, если бы сейчас это взялся делать, написал бы уже на powershell,  а так, могу предложить давно написанный и более универсальный вариант:

Код:
@echo off
rem Вариант очистки временных папок с выводом удаляемых, очищаемых и исключённых каталогов (но не файлов)
echo Процесс очистки временных каталогов...
echo Старт: %time%
echo.
 
rem Перечень каталогов для очистки (задаются папки с абсолютными путями):
set "d1=%temp%"
set "d2=%windir%\temp"
set "d3="
rem количество очищаемых каталогов:
set n=2
 
rem Перечень подкаталогов исключаемых из удаления в одном и только одном корневом каталоге
rem (задаются только имена папок, без путей и слешей и корневой каталог с абсолютным путем):
rem корневой каталог
set "root=%temp%"
rem подкаталоги
set "e1=test"
set "e2=123"
set "e3="
rem количество исключаемых подкаталогов:
set k=2
 
setlocal enabledelayedexpansion
rem Составляем массивы обрабатываемых каталогов в строки:
for %%t in (d e) do (
    set x=%%t
    if "!x!"=="d" (set /a z=n) else (set /a z=k)
    for /l %%g in (1,1,!z!) do (
        if defined %%t%%g (set var=%%g&call :per)
    )
)
rem Массивы каталогов для обработки (для вывода раскомментировать):
::echo очищаются - %arr_d%
::echo исключения - %arr_e%
rem Предохранитель для проверки:
::pause&exit
 
rem Цикл удаления файлов и подкаталогов:
for %%v in (%arr_d%) do (
    pushd "%%~v"
    for /f "delims=" %%i in ('dir /b/ad') do set "fd=%%~dpnxi"&call :rem
    echo Удаляем только файлы, каталог: "%%~v"
    rem для боевого использования, в следующей строке удалить "echo":
    >nul 2>&1 echo del /f/q/a "%%~v"
    popd
)
rem 2>nul del /f/s/q/a "%programfiles%\Mozilla Firefox\*.tmp" &: строка с очисткой папки Лисы
echo.
echo Стоп: %time%
pause&exit
:per
set "var=!%x%%var%!"
set "ext=!arr_%x%!"
if "%x%"=="d" if not exist "!var!\" exit /b
set "arr_%x%=%ext% "%var%""
exit /b
:rem
rem Проверка списка исключений:
for %%m in (%arr_e%) do (
    if /i "%fd%" equ "%root%\%%~m" echo Исключается каталог: "%fd%"&exit /b
)
echo Удаляем каталог: "%fd%"
rem для боевого использования, в следующей строке удалить "echo":
>nul 2>&1 echo rd /s/q "%fd%"
exit /b

- тут есть комменты, так что подкорректировать под себя, с добавлением нужных каталогов в очистку, не очень сложно.
И кстати, этот батник, вроде бы, где-то публиковал когда-то... здесь, на форуме.
 
ЗЫ
Строку с папкой лисы добавил, но закомментированную. Кому не требуется, можно просто удалить

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 05:52 03-04-2018 | Исправлено: YuS_2, 09:49 03-04-2018
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
у меня пошик в системе отсутствует как класс. (вырезал за ненадобностью и ни разу за семь лет пользования семеркой он не был мне нужен, хватало cmd).
 
так что простите, но нужно именно батник, а не ПШ-решение.
 
Добавлено:
add: добавил сам.

Код:
@echo off
chcp 1251
(for /f "delims=" %%i in ('dir /b/s/a "%temp%" "%tmp%" "%windir%\temp" "%USERPROFILE%\AppData\Local\CrashDumps\"') do (
    rd /s/q "%%i" 2>nul
    del /f/s/q/a "%%i" 2>nul
)
del /f/s/q/a "%programfiles%\Mozilla Firefox\*.tmp" 2>nul)>%temp%\delete.log
notepad %temp%\delete.log
del %temp%\delete.log

вроде всё работает, меня только смущает 1 момент: в конце пути "%USERPROFILE%\AppData\Local\CrashDumps\" нужен закрывающий слеш или нет.

----------
animelist

Всего записей: 7413 | Зарегистр. 11-03-2004 | Отправлено: 17:00 03-04-2018 | Исправлено: AngelNet, 17:07 03-04-2018
YuS_2



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

Цитата:
но нужно именно батник, а не ПШ-решение.

Ну, дык, я вроде и не предлагал powershell. То, что выше - это "чистый" cmd.
А в Вашем решении, есть недостаток - он значительно медленнее должен работать, ибо там рекурсивный вывод файлов/каталогов и соответственно, удаление их по одному, что сказывается на производительности...
 

Цитата:
нужен закрывающий слеш или нет.

Это неважно для dir, если не ошибаюсь, конечно...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 21:19 03-04-2018
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
спустя 1-5 сек. открывается лог файл удаленных файлов в зависимости от замусоренности.
если тыкать каждый день то практически мгновенно отрабатывает, т.е. эта рекурсия не мешает...
 
насчёт вашего cmd я понял, но по мне так он слишком сложен и перегружен для понимания и освоения мною, уж простите останусь на своём "простом" велосипеде, который пока что благо ездит.
 
в любом случае благодарю за попытку помочь.

----------
animelist

Всего записей: 7413 | Зарегистр. 11-03-2004 | Отправлено: 21:38 03-04-2018
103bar

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




Не советую проверять реакцию модеров. Пишем по делу, либо ходим мимо... молча.

Всего записей: 1 | Зарегистр. 14-03-2018 | Отправлено: 17:06 05-04-2018 | Исправлено: KLASS, 17:08 05-04-2018
farag



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

Код:
 
$bytes = [System.IO.File]::ReadAllBytes("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk")
$bytes[0x15] = $bytes[0x15] -bor 0x20
[System.IO.File]::WriteAllBytes("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk", $bytes)
 

Как ЭТО запустить из батника без создания .ps1? Желательно не в одну строчку. Абсолютно все методы не помогли.

Всего записей: 2474 | Зарегистр. 27-07-2009 | Отправлено: 11:48 11-04-2018
bifido 76



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

Всего записей: 2473 | Зарегистр. 08-04-2016 | Отправлено: 12:32 11-04-2018 | Исправлено: bifido 76, 12:33 11-04-2018
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bifido 76
Нижайший поклон.

Всего записей: 2474 | Зарегистр. 27-07-2009 | Отправлено: 14:36 11-04-2018
varbasik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не могу понять почему всегда errorlevel 1
 

Код:
setlocal enabledelayedexpansion
for /F %%i in (iplist.txt) do (
    echo  "%%i ... "
    plink -batch -pw %passwords2% -P %ports% %username%@%%i system identity print | find "Access denied" > null
        IF !errorlevel! EQU 1 (
        echo "online"
        ) else (
        echo "%%i Access denied"
        goto error
        )
)
endlocal


Всего записей: 226 | Зарегистр. 02-07-2009 | Отправлено: 10:57 12-04-2018
NIKZZZZ



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

Цитата:
 find "Access denied"

Скорее всего проблема в этой строке, возможно там не пробел, а табуляция или регистр символов не совпадает, попробуйте find /i "denied"
А лучше посмотреть лог - plink ...>log.txt в hex редакторе.
 

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 11:19 12-04-2018
varbasik

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

Код:
plink -batch -pw %passwords2% -P %ports% %username%@%%i system identity print | find /i "name" > null
    echo me !errorlevel!
        IF !errorlevel! EQU 0
Код:
 

[code]1st stage - checking hosts state
192.168.19.1 ... me 0
online
192.168.17.1 ... Access denied
me 1
192.168.17.1 Access denied

 
Добавлено:
NIKZZZZ
Спасибо!
был OUTPUT
name

Всего записей: 226 | Зарегистр. 02-07-2009 | Отправлено: 14:11 12-04-2018
0utcast



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема, скорее всего, обсуждалась уже множество раз
Имеется необходимость иногда давать пользователям возможность запускать некие процессы на своих машинах из-под некоторой УЗ с правами администратора
Иногда это очень удобно делать с помощью скриптов, но пароли в них - в открытом виде
Подскажите пожалуйста средство для кодирования js, vbs-скриптов, а лучше если универсальное - ещё и для ps1
Что смотрел:
Encode a Script, но это я так понимаю, полной защиты не даёт, - можно обратно раскодировать
ExeScript. Из минусов - платная, но проек походу помер, плюс не совсем понятно, - при билдинге, если выбрать "execution type - compile", то типо код выполняется в памяти, но опять же, непонятно, можно ли оттуда его сдампить
В общем, что посоветуете по данной проблеме?

Всего записей: 349 | Зарегистр. 08-07-2011 | Отправлено: 08:30 13-04-2018
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0utcast
1.В планировщике задач создать новое задание, "task", например.
2. Разрешить выполнение по требованию, указать скрипт для выполнения, параметры, в том числе имя и пароль пользователя от имени которого нужно выполнять.
3. Создать файл task.bat следующего содержания:
      SCHTASKS /Run /I /TN "task"
4. ярлык task.bat на рабочий стол пользователя.

Всего записей: 3482 | Зарегистр. 09-09-2003 | Отправлено: 10:24 13-04-2018
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0utcast
Цитата:
запускать некие процессы на своих машинах из-под некоторой УЗ с правами администратора
Можно кодировать не весь скрипт, а только вызов процесса и данные УЗ. Для этого есть, например, CPAU.  

Цитата:
это я так понимаю, полной защиты не даёт, - можно обратно раскодировать
В приципе, раскодировать можно всё что угодно, полной защиты не даёт ничто.

Всего записей: 1785 | Зарегистр. 09-02-2006 | Отправлено: 11:13 13-04-2018 | Исправлено: romby, 11:18 13-04-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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru