Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск файлов и их переименовка через bat-файл (http://forum.oszone.net/showthread.php?t=338189)

loviii 12-12-2018 07:36 2845481

Поиск файлов и их переименовка через bat-файл
 
Здравствуйте.

Хочу реализовать отключение и включение возможности использования принтера на компьютере (в независимости от его конфигурации) с помощью bat-файла (для всех версий Windows; ну или хотя бы начиная с Windows 7) следующим образом:

Отключение:
переименовать все файлы spoolsv.exe на компьютере в abc.dll
переименовать все файлы spoolsv.exe.mui на компьютере в abc.dll.mui

Включение обратно:
переименовать обратно все файлы abc.dll на компьютере в spoolsv.exe
переименовать обратно все файлы abc.dll.mui на компьютере в spoolsv.exe.mui

Места хранения spoolsv.exe и spoolsv.exe.mui:
1-е место:
"%windir%\system32\spoolsv.exe"
"%windir%\system32\ru-RU\spoolsv.exe.mui"
2-е место:
Рандомно в подпапках "%windir%\winsxs"

переименование для отключения в 1-м месте хранения я выполнил:
Код:

taskkill /f /im "spoolsv.exe"

set NewName1=abc.dll
set NewName2=abc.dll.mui

set source=%windir%\system32\spoolsv.exe
if exist "%source%" (
        takeown /F "%source%"
        echo y|cacls "%source%" /G %username%:f
        ren "%source%" "%NewName1%"
)

set source=%windir%\system32\ru-RU\spoolsv.exe.mui
if exist "%source%" (
        takeown /F "%source%"
        echo y|cacls "%source%" /G %username%:f
        ren "%source%" "%NewName2%"
)

Помогите, пожалуйста, дописать этот батник для 2-ого места хранения, т.е. составить поиск по всем подпапкам папки "%windir%\winsxs", находя и переименовывая в ней искомые файлы. Желательно не по отдельному циклу для spoolsv.exe и spoolsv.exe.mui, а за один цикл, чтобы быстрее работало.

Батник будет хранится на флешке, защищенной от записи, т.е. никаких вспомогательных логов на ней создаваться не сможет.

Заранее спасибо.

Iska 12-12-2018 07:49 2845482

Нахрена Зачем?!

loviii 12-12-2018 08:15 2845483

Цитата:

Цитата Iska
Нахрена Зачем?! »

Захреном Не спамьте плиз, если не хотите помогать.

alpap 12-12-2018 14:46 2845534

Цитата:

Цитата loviii
отключение и включение возможности использования принтера »

что это означает?

вот перезапуск службы печати:
Код:

@echo off
sc stop Spooler|>nul find /i "Stop" && echo Служба Spooler остановлена
sc start Spooler|>nul find /i "Start" && echo Служба Spooler запущена
pause

вот подключение сетевого принтера:
Код:

@echo off
rundll32 printui.dll,PrintUIEntry /c "\\Comp1" /dn /n "\\Comp2\Samsung ML-2250"
rundll32 printui.dll,PrintUIEntry /in /n "\\Comp2\Samsung ML-2250"
rundll32 printui.dll,PrintUIEntry /y /n "\\Comp2\Samsung ML-2250"
exit

есть еще команды, с помощью которых можно работать с адаптерами отвечающими за печать (останавливать, запускать)
а вот что вы творите неясно, хотя бы пояснили почему так или почему именно так как вы пытаетесь делать.

DJ Mogarych 12-12-2018 14:51 2845538

Может, вместо подобного извращения отключить службу печати?

mwz 12-12-2018 21:36 2845618

Цитата:

Цитата loviii
отключение и включение возможности использования принтера на компьютере (в независимости от его конфигурации) »

"Всё украдено придумано до нас!"

Выключение:
Код:

setlocal
net stop spooler
TASKKILL /F /IM spoolsv.exe /T

Включение (с предварительной очисткой очередей печати — если они есть: иначе возможны проблемы при последующей печати):

Код:

setlocal
del /Q /s /F /A %windir%\system32\spool\PRINTERS\*.*
del /Q /s /F /A %windir%\system32\spool\Servers\*.*
net start spooler

PS
Запускать с правами администратора.
Как, впрочем, надо было бы делать и при исходных извращениях. ;)

loviii
PPS
Или возможность печати на сетевой принтер должна сохраняться?

Iska 12-12-2018 21:49 2845622

Цитата:

Цитата mwz
с предварительной очисткой очередей печати — если они есть: иначе возможны проблемы при последующей печати »

Я предпочитал наоборот — сначала остановка службы, затем удаление.

mwz 12-12-2018 21:53 2845624

Цитата:

Цитата Iska
сначала остановка службы, затем удаление »

Разумеется — иначе удалить не получится. И здесь служба уже остановлена: первым батником. :)

Iska 12-12-2018 22:07 2845628

mwz, прошу прощения — это я уже слепой, не то вижу :(.


Время: 01:57.

Время: 01:57.
© OSzone.net 2001-