Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 4

Автор: 3y6acTuK
Дата сообщения: 06.03.2008 21:46
king_stiven
А вот и мне кстати интересно как можно проверить, что подстрока отсутствует в списке (bobojon нужно убедиться что нет имени router.exe в списке tasklist, а мне - что нет имени файла в списке dir)...
Автор: king_stiven
Дата сообщения: 06.03.2008 21:52
bobojon

Код: @echo off
:begin
for /f %%c in ('tasklist /nh') do if /i "%%c"=="router.exe" set router=yes
if not defined router "D:\SOFITCOM\Router\router.exe"
ping -n 640 -w 1000 localhost > nul
set router=
goto :begin
Автор: Nagual
Дата сообщения: 06.03.2008 22:41
3y6acTuK

Цитата:
5) Как очистить дерево каталогов от файлов (удалить все файлы, оставив каталоги)?

robocopy c:\source c:\dest /e /create /xf * /min:1

Добавлено:

Цитата:
а мне - что нет имени файла в списке dir)...

dir/b|findstr test.txt||echo file not exist
Автор: bobojon
Дата сообщения: 07.03.2008 01:05
Большое Большое СПАСИБО king_stiven Вы не представляете как я РАД ЭТОМУ БАТНИКУ!

Добавлено:
вот возник еще один вопрос: Этот код работает в ХР! - но на Windows2000 нет!!! как его переделать для 2000-ка?

Цитата:
@echo off
:begin
for /f %%c in ('tasklist /nh') do if /i "%%c"=="router.exe" set router=yes
if not defined router "D:\SOFITCOM\Router\router.exe"
ping -n 640 -w 1000 localhost > nul
set router=
goto :begin



Добавлено:
ВСе спасибо ВСЕМ ! разобрался сам,сделал следующее:
Во первых достал с дистрибютива Win2000 \support\tools утилиту tlist.exe закинул ее в %windir%\system32 и попробовал вот так:

Код: @echo off
:begin
for /f %%c in ('tlist') do if /i "%%c"=="router.exe" set router=yes
if not defined router "D:\SOFITCOM\Router\router.exe"
ping -n 640 -w 1000 localhost > nul
set router=
goto :begin
Автор: Astron
Дата сообщения: 07.03.2008 08:27
Elroir

Цитата:
Только что проверил еще раз - скопировал текст .reg файла из форума, создал новый .reg файл, внес в него этот текст, сохранил. Импортировал его в реестр, кликнув по нему 2 раза мышкой. Меню появилось и на файлах и на директориях.
Проверь, что у тебя есть права на редактирование реестра.

Всё получилось. А можно еще, чтобы это действовало на все файлы и подкаталоги, если действие применяется к каталогу?
Автор: Joolz
Дата сообщения: 07.03.2008 09:38
TKVzic
Надыбал где-то такой скрипт:

Код:
'************************************************************
'* Имя: Shortcut_Create.vbs *
'* Язык: VBScript *
'* Назначение: Создание и настройка ярлыка на рабочем столе *
'************************************************************

Set objShell = CreateObject("Shell.Application")
Set objDesktop = objShell.NameSpace(&H0)
desktopDir = objDesktop.Self.Path & "\"
Set objDesktop = Nothing
Set objShell = Nothing
Set objWShell = CreateObject("WScript.Shell")
Set objSC = objWShell.CreateShortcut(desktopDir & "ДубльГИС, Новосибирск.lnk")
objSC.Description = "План города"
objSC.IconLocation = "shell32.dll, 13"
objSC.TargetPath = "C:\Program Files\2gis\Nsk\grym.exe"
objSC.WindowStyle = 1
objSC.WorkingDirectory = "C:\Program Files\2gis\Nsk"
objSC.Save
Set objSC = Nothing
Set objWShell = Nothing
Автор: demon1981
Дата сообщения: 07.03.2008 09:43
Народ не подскажете как в батнике поменять "свойства папки" в WinXPProfSP2 без применения нестандартных утилит. К примеру галки "автоматический поиск сетевых папок и принтеров" "скрывать защищенные системные файлы (рекомендуется)" и кнопка "применить ко всем папкам"
Автор: Leshgan
Дата сообщения: 07.03.2008 11:18
Есть папка FILES, в ней файлы *.ext
мне надо получить текстовый файл со списком всех файлов в этой папке. И потом (в другом bat-нике прочитать этот список.
Как это сделать?
dir FILES\*.ext > file.txt
не подойдет, его потом читать сложно
Автор: 01MDM
Дата сообщения: 07.03.2008 11:27
Leshgan

Код:
@echo off
::
:: chcp 1251 >nul
::
dir /b FILES\*.ext>file.txt
for /f "tokens=*" %%i in (file.txt) do echo %%i
Автор: king_stiven
Дата сообщения: 07.03.2008 11:27
Leshgan

Цитата:
мне надо получить текстовый файл со списком всех файлов в этой папке.


Код: for /f "tokens=*" %%c in ('dir FILES\*.ext /b /a:-d') do echo %%c>> file.txt
Автор: Maza Faka
Дата сообщения: 07.03.2008 11:33
demon1981

Цитата:
галки "автоматический поиск сетевых папок и принтеров" "скрывать защищенные системные файлы (рекомендуется)"


Код: @echo off
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /t REG_DWORD /v SuperHidden /d 0 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /t REG_DWORD /v NoNetCrawling /d 0 /f
Автор: Leshgan
Дата сообщения: 07.03.2008 11:39
01MDM
king_stiven
Большое спасибо! То, что надо!
Можете пояснить вот эту часть?

Цитата:
tokens=*


А точнее я не понял из описания команды что тут дает символ *
Автор: 01MDM
Дата сообщения: 07.03.2008 11:41
Leshgan
Игнорирует разделители (пробелы) в выводимой строке, если они там есть. Поставь для эксперимента tokens=1

Даже правильней не игнорирует, а объединяет все части строки, начиная с начала.
Автор: Elroir
Дата сообщения: 08.03.2008 15:42
Astron

Цитата:
А можно еще, чтобы это действовало на все файлы и подкаталоги, если действие применяется к каталогу?

Попробуй так:

Код: @echo off
setlocal
pushd "%~1" >nul 2>&1 || goto file_rename
popd
call :process_files %1
call :process_dirs %1
:file_rename
pushd "%~dp1"
call :do_rename %1
popd
goto :EOF
:process_files
pushd %1
for %%a in (*.*) do call :do_rename "%%~fa"
popd
goto :EOF
:process_dirs
pushd %1
for /d %%a in (*.*) do call :do_rename "%%~fa"
for /d %%a in (*.*) do call "%~f0" "%%~fa"
popd
:do_rename
set "name=%~nx1"
set "name=%name: =_%"
ren "%~nx1" "%name%"
Автор: Maza Faka
Дата сообщения: 09.03.2008 07:49

Цитата:
Спасибо Nagual за помощь и объяснения по подсветке кода.

Может Nagual всем обьяснит как подсвечивать код?
Автор: 01MDM
Дата сообщения: 09.03.2008 10:21
Maza Faka

Цитата:
Может Nagual всем обьяснит как подсвечивать код?

Если он это делает не вручную. Я знаю только через bbtag color

Автор: Maza Faka
Дата сообщения: 09.03.2008 11:06
01MDM
Нее...вариант вручную не устраивает...
Автор: igor_andreev
Дата сообщения: 09.03.2008 11:46
Это кажется mozers еще придумал подсветку делать, где-то в топике про Scite ищите. Или сразу качните scite ru-board edition, там где-то в меню есть пункт "Преобразовать код для публикации на форуме"

А я себе давно в Punto автозамену настроил, набираю [ code] и Punto вставляет дальше по пробелу
[ code][ font=Lucida Console]

[ /font][ /code]
На нормальных форумах все внутри тега code автоматом идет моноширинным шрифтом :)
P.S. Шизанутый форум, ставлю галочку "запретить коды" - а он все свое... пробелов наставил между [ и словом
Автор: Nagual
Дата сообщения: 09.03.2008 12:25
Ну, что же, раз народ хочет красоты, а админу форума почему-то впадлу делать подсветку кода движком форума, разъясню как это делается...
1. Берем сборку одного из лучших редакторов SciTe, текущая версия
2. Берем свежайший код подсветки от mozers™ code-poster2.lua кладём его в папку tools и переименовываем на code-poster.lua
3. Редактируем подстветку дефолтных файлов
others.properties [строка 386] : [more]
Код: # Default
style.props.0=
# Comment
style.props.1=fore:#007F7F,$(font.comment)
# Section
style.props.2=fore:#7F007F,back:#E0F0F0,eolfilled
# Assignment operator
style.props.3=$(colour.operator)
# Default value (@)
style.props.4=$(colour.preproc)
# Key
style.props.5=fore:#0000FF
# Keys Set 0
style.props.6=fore:#AA00AA,bold
# Keys Set 1
style.props.7=fore:#FF7700,bold
# Keys Set 2
style.props.8=fore:#0000FF,bold
# Keys Set 3
style.props.9=fore:#00FF00,bold
# Keywords
style.props.10=fore:#CC0000,bold
# Matched Operators
style.props.34=fore:#0000FF,notbold
style.props.35=fore:#FF0000,notbold
Автор: Elroir
Дата сообщения: 10.03.2008 00:27
Nagual

Цитата:
2. Берем свежайший код подсветки от mozers™ code-poster2.lua кладём его в папку tools и переименовываем на code-poster.lua

Вот про этот пункт ты мне не сказал!
Автор: Maza Faka
Дата сообщения: 10.03.2008 06:38
Nagual
Ок, спасибо!
Автор: 01MDM
Дата сообщения: 10.03.2008 10:01
Nagual
Не хочется переходить на другой редактор ради подсветки синтаксиса на форуме, но за идею все равно спасибо.
Автор: Maza Faka
Дата сообщения: 10.03.2008 10:27
01MDM

Цитата:
Не хочется переходить на другой редактор

Извиняюсь за оффтоп, но каким редактором ты пользуешься?
Автор: Leshgan
Дата сообщения: 10.03.2008 10:38
Нужно из командной строки создать задание, которое будет выполняться D дней в неделю, каждые M минут.
Команда at не подходит из-за последнего условия, команда schtasks не подходит, так как создать задание нужно на Windows 2000/Window 2000 Server.
Что можно сделать в таком случае?
Автор: 01MDM
Дата сообщения: 10.03.2008 11:01
Maza Faka
Notepad++, он вроде тоже на движке Scintilla, но там такой фичи не нашел.

Leshgan

Цитата:
Команда at не подходит из-за последнего условия

Составь батник с самим заданием и командой на создание следующего задания. Т.е он будет сам себя добавлять через M минут.



Автор: Collapse Troll
Дата сообщения: 10.03.2008 17:36
Здравствуйте! 2 вопроса к вам :
1) ОС win 2003 sp2. Какой стандартной командой можно разрубить файл на n частей и какой потом собрать его обратно? Вроде как собрать можно командой copy?

2) можно ли каким-то образом в win 2003 sp2 посчитать контрольную сумму(crc) файла?

подходят только системные средства, сторонние утилиты не используются

добавлено:
треть вопроса нашел:
собрать файл можно командой
copy /b file1.xxx file2.xxx fileresult.xxx
где fileresult.xxx - это итоговый файл.

Неясно, какой командой ОС его можно разрезать и как посчитать crc.
p.s.: считалки типа fsum и резалки от far, win commander, rar не подходят, так как сервер не имеет связи с внешним миром и никаких программ на него не устанавливается
Автор: BorlandIMHO
Дата сообщения: 10.03.2008 18:28
Collapse Troll
Стандартных средств разбиения файлов на части сервер 2003 не содержит. Вообще.
(не считая архивации ntbackup при использовании сменных носителей).
Можно, конечно написать свою программу на каком-нибудь vbs или js...
Но дешевле всё-таки воспользоваться сторонней утилитой.

Встроенных средств подсчёта CRC windows, опять же, лишена. Однако существует туева хуча freeware утилит для этого, начиная с FCIV от той же M$.


Цитата:
сторонние утилиты не используются
религия не позволяет?
Автор: Collapse Troll
Дата сообщения: 10.03.2008 18:52

Цитата:
Стандартных средств разбиения файлов на части сервер 2003 не содержит. Вообще.

понятно. спасибо
Дело в том, что с сервера копируются большие файлы, образа виртуальных машин (>15 Gb), и есть подозрение что при записи через usb они портятся. Вот и думаю, что возможно более мелкие части перепишутся без ошибок, и попутно как проверить целостность файла.
BorlandIMHO просто на данном сервере не устанавливается и не запускается ничего "лишнего"

Автор: NIKZZZZ
Дата сообщения: 10.03.2008 19:09
Collapse Troll

Цитата:
возможно более мелкие части перепишутся без ошибок, и попутно как проверить целостность файла.

Самое оптимальное - использовать архиватор , например rar,7z, он и разоб'ет и проверит. Чтобы было быстрей - минимальное сжатие.
Автор: BorlandIMHO
Дата сообщения: 10.03.2008 19:14
Ну, средства архивации и проверки целостности я никак не назвал бы "лишними". Впрочем, это уже пошёл...
Изучайте VBS/JS и пишите программу на нём (WSH, насколько я помню, в 2003 сервере по умолчанию установлен), раз уж сторонние утилиты не устраивают...
Там, теоретически, можно и хэширование реализовать, и вообще почти что угодно.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: Доступ к реестру через RegEdit?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.