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

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

Автор: str1k3r
Дата сообщения: 11.10.2006 09:18
ViSiToR
прокатил вариант

@echo off
start /wait net stop "Seapine License Server"
start /wait net stop "TestTrack Pro Server"
start /wait net stop "SQL Server (MSSQLSERVER)"

большое спасибо!
Автор: Vezan
Дата сообщения: 11.10.2006 09:34
Как с помощью батника сделать автоматическую перезагрузку системы. Буду использователь шедулер. Дайте текст батника что бы он перезагрузку вызывал.
Автор: komal
Дата сообщения: 11.10.2006 10:15
Vezan

Пару постов выше писали: shatdown -r перезагрузка системы.


Подскажите плиз как переименовать диск и з командной строки. Это нужно для того чтоб подключаемым сетевым дискам давать локоничные, короткие понятные имена.
Что бы пользователи не пугались.
А то по умолчанию они именуются: sharepapka на \\servername\directory\papka (O
Это не удобно, пользователи путаются.
Правой кнокой нажимаешь там можно переименовать, но мне нужно в скрипте автоматом.


label диск:новоя мметка Не работает. Пишет отказано в доступе




Добавлено:
сразу давать метку нужную у меня что то не получилось. По крайней
net use w:mydisk \\fileserver\userpapka
не работает. Пишет не найден сетевой путь
Автор: Refugee
Дата сообщения: 11.10.2006 15:08
komal
можно на vbscript
CreateObject("Shell.Application").Application.NameSpace("W:\").Self.Name = "my label"
Автор: komal
Дата сообщения: 12.10.2006 03:35
Refugee

Спасибо помогла
Автор: Snegov1k
Дата сообщения: 12.10.2006 16:52
Доброго времени суток, подскажите плз - как перемести файл из одной папки в другую с добавлением даты?
Т.е. для создания архива = скажем в определенную папочку попадает c:\1\arh.zip как переместить в с:\2\arh13102006.zip ?

И еще вопрос есть так =
for %%a in (C:\SendCMD\UNLOAD\*.rar) do mail.cmd %%a

соответственно второй файл
TRMail.EXE /N"имя" /Sадреспочты /Fназвпочты /Tкому /O"заголовок" /B"тема" /A%1 /L /CWindows-1251 /M <body.txt

как сделать так что бы по окончанию каклог откуда присоединяются письма очищался?

т.е. если я в первом прописываю del \путь\ то успевает отправить всего 1 файл ( а их там много)
и то же самое если прописываю это во втором.
Заранее спасибо!
Автор: Elroir
Дата сообщения: 12.10.2006 17:40
Snegov1k
В каком формате выводится переменная date? (запусти из команд. строки echo %date%)
Как именно ты используешь команду del? (напиши команду со всеми параметрами)
Автор: Snerov1k
Дата сообщения: 12.10.2006 18:25
DEL использовался в лоб
del c:\1\ /Q

Дата - Чт 12.10.2006
(Винда 2000 сп4)
Автор: Elroir
Дата сообщения: 12.10.2006 20:24
Snerov1k
1. Для перемещения всех zip файлов из c:\1 в c:\2 с добавлением даты -

Код:
for %%i in (c:\1\*.zip) do (
copy c:\1\"%%i" c:\2\"%%~ni%date:~3,2%%date:~6,2%%date:~9,4%%%~xi"
del c:\1\"%%i"
)
Автор: tolyn77
Дата сообщения: 13.10.2006 07:01
Elroir

Цитата:
1. Для перемещения всех zip файлов из c:\1 в c:\2 с добавлением даты -

Код:

for %%i in (c:\1\*.zip) do (
copy c:\1\"%%i" c:\2\"%%~ni%date:~3,2%%date:~6,2%%date:~9,4%%%~xi"
del c:\1\"%%i"
)

а так нельзя?


Код:
for %%i in (c:\1\*.zip) do (
move c:\1\"%%i" c:\2\"%%~ni%date:~3,2%%date:~6,2%%date:~9,4%%%~xi"
)
Автор: Snegov1k
Дата сообщения: 13.10.2006 09:26
Спасибо! Все получилось!

А еще вопрос такой - возможно ли посчитать кол-во файлов в папке и записать результат в файл и/или его имя?
Автор: Yalgas
Дата сообщения: 13.10.2006 12:31
хочу в автозагрузку некий батник, который бы выключал компьютер через час после включения, но никак себя не проявлял в ходе работы(поясню. что нужно ограничить время за компьютерными играми), думаю это возможно.
хорошо было бы, если бы существовала возможность по ходу этого часа отменить его действие ну может быть какой то комбинацией горячих клавиш, либо как то иначе.
Автор: Snegov1k
Дата сообщения: 13.10.2006 12:41
Yalgas поищи программу nnCron - офигенная штука
Автор: ViSiToR
Дата сообщения: 13.10.2006 16:35
Yalgas

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


Могу предложить следующий вариант (храмой):

Состав батника:


Код:
ping -n 3600 localhost > nul
shutdown -s
Автор: uZver
Дата сообщения: 13.10.2006 16:48
Snegov1k
по поводу посчитать файлы есть решение от KapralBel
+
в догонку к добавлению даты к имени файла rar/arj могут добавлять дату к имени архива самостоятельно.

Добавлено:
ViSiToR

Цитата:
это позволит закрыть этот процесс без проблем
причем и тому кого нужно ограничить
Автор: ViSiToR
Дата сообщения: 13.10.2006 17:19
uZver

Цитата:
причем и тому кого нужно ограничить

Но ведь об нет речи ...

By Yalgas

Цитата:
хорошо было бы, если бы существовала возможность по ходу этого часа отменить его действие
Автор: Elroir
Дата сообщения: 13.10.2006 17:37
tolyn77
Можно, конечно
Это называется - "мы не ищем легких путей"
Yalgas
В шапке есть ссылка на программку cmdow - она позволяет скрыть запущенное окно.
Так, если окна не видно, то закрыть его можно только из Task Manager-а - это в смысле отмены выключения.
Автор: ViSiToR
Дата сообщения: 13.10.2006 20:18
Yalgas
Вот утилита (тестовая, т.е beta) - Sleep2Sht - Кидаем её куда нибудь, и запоминаем путь к ней, а в батнике пишем следующее:


Код: Путь\по\которому\лежит\утилита\Sleep2Sht 60-m /fs
Автор: 2life
Дата сообщения: 13.10.2006 21:12
Помогите оптимизировать данный батник:
--------

Цитата:

@Echo off
Title Резервное Cохранение базы 1с!
C:
cd C:\1c\torgbase\
C:\1c\rar.exe a -o+ -r E:\1c\torg_back\temp\backup.rar *.*
copy E:\1c\torg_back\temp\backup.rar E:\1C\torg_back\
E:
cd E:\1c\torg_back\
del E:\1c\torg_back\temp\backup.rar
del /q backup5.rar
ren backup4.rar backup5.rar
ren backup3.rar backup4.rar
ren backup2.rar backup3.rar
ren backup1.rar backup2.rar
ren backup.rar backup1.rar
C:
cd C:\1c\


Что хочется:
1) Настройки путей к rar.exe, источнику, папке temp и месту назначения читал бы из ini файла.
2) Перед выполнением выводил всплывающее окно, с просьбой закрыть 1с и предлагал
нажать Y/N.
3) Если нету какого либо из файлов архива, не ругался бы на отсутствие оного.
4) Давал имена по месяцу и дню (backup_YYMMDD.rar), и удалял старые (5 архивов только должно быть).

Автор: Elroir
Дата сообщения: 13.10.2006 21:42
ViSiToR
Я так понимаю - это скомпилированный AutoIt скрипт?
Если да - можно исходник? Просто интересно.
Автор: ViSiToR
Дата сообщения: 13.10.2006 22:36
2life

Цитата:
Помогите оптимизировать данный батник

По поводу пунктов 1) и 3), думаю это решает следующий состав:


Код:
@echo off

find /I "RarPath" config.ini > config.tmp
for /f "delims=" %%a in (config.tmp) do set RarPath1=%%a
Set RarPath=%Rarpath1:~+8%

find /I "TempPath" config.ini > config.tmp
for /f "delims=" %%a in (config.tmp) do set TempPath1=%%a
Set TempPath=%TempPath1:~+9%

find /I "Source" config.ini > config.tmp
for /f "delims=" %%a in (config.tmp) do set Source1=%%a
Set Source=%Source1:~+7%

find /I "Dest" config.ini > config.tmp
for /f "delims=" %%a in (config.tmp) do set Dest1=%%a
Set Dest=%Dest1:~+5%

Del /q /f config.tmp

C:
cd %Source%
%RarPath%\rar.exe a -o+ -r %TempPath%\backup.rar *.*
copy %TempPath%\backup.rar %Dest%\
E:
cd %Dest%\
del /f /q %TempPath%\backup.rar
del /f /q backup5.rar
ren backup4.rar backup5.rar
ren backup3.rar backup4.rar
ren backup2.rar backup3.rar
ren backup1.rar backup2.rar
ren backup.rar backup1.rar
C:
cd %RarPath%
Автор: 2life
Дата сообщения: 13.10.2006 22:55
Спасибо за пункты 1 и 3!


Цитата:
А по поводу пунктов 2) и 4), не совсем понятно, что должно происходить после ответа на вопрос, и как именно переименовывать архивы?

Поправки к п.2 и п.4
2) Нажимаем Y, скрипт начинает свою работу. Надпись такая "Вы завершили работу 1с локально и по сети?", если N нажали то выход из cmd.
4) Ничего переименовывать не нужно, это просто "старое решение" такое, нужно что бы хранилось только 5 последних копий бекапа. И все они были с датой в имени.
Автор: ViSiToR
Дата сообщения: 13.10.2006 23:22
2life

2) В начало скрипта пропиши такие строчки:


Код:
chcp 1251
:again
if exist ask.tmp echo Наберите N для выхода, или Y для продолжения...
echo.
echo "Вы завершили работу 1с локально и по сети?"

copy /y con ask.tmp > nul
for /f %%I in (ask.tmp) do if /i %%I==n goto ext
for /f %%J in (ask.tmp) do if /i not %%J==y goto again
del /q /f ask.tmp
goto next

:ext
del /q /f ask.tmp
exit

:next
Автор: 2life
Дата сообщения: 14.10.2006 00:08

Цитата:
Если сильно нужно будет, то завтра залью утилиту (она очень мелкая), которая позволяет обходиться без нажимания F6.
Если ввести что-то другое (не N), то батник продолжит своё действие сначала.

Хорошо подожду до завтра...
Автор: Elroir
Дата сообщения: 14.10.2006 02:17
2life
Для запроса диалогом, завершил ли пользователь работу с 1с, можно использовать
утилиту HS_MESSAGE из пакета утилит для организации интерфейса в bat-файлах (из шапки).

Код:
chcp 1251
HS_MESSAGE "Вы завершили работу 1с локально и по сети?" "Backup" Q YESNO
IF ERRORLEVEL 7 GOTO exit
...
..вся остальная работа batch файла
...
:exit
Автор: 2life
Дата сообщения: 14.10.2006 10:13
Пункт 2 решился) Спасибо!
Единственное что в дос окне текст отображается крякозябрами, в диалоге правда все нормально. Осталось с 4 пунктом разобраться.
Автор: Elroir
Дата сообщения: 14.10.2006 20:20
2life
Пункт 4 - основан на варианте ViSiToR-а:

Код:
del /q /f %TempPath%\backup_*.rar
%RarPath%\rar.exe a -o+ -r -ag_YYMMDD %TempPath%\backup.rar *.*
copy %TempPath%\backup_*.rar %Dest%\
E:
cd %Dest%\
del /f /q backup_*_5.rar 2>nul
ren backup_*_4.rar backup_*_5.rar 2>nul
ren backup_*_3.rar backup_*_4.rar 2>nul
ren backup_*_2.rar backup_*_3.rar 2>nul
ren backup_*_1.rar backup_*_2.rar 2>nul
ren backup_??????.rar backup_??????_1.rar
Автор: FXPELIVE
Дата сообщения: 15.10.2006 12:44
Помогите решить две задачки:

@echo off
color 0C
title %TMP%

echo Задачка 1
echo Проблема в том, что мне нужно при наличии доступа к интернету с помощью Wget.exe скачать файл update.rar Писать под Windows XP (если есть желание, то и под Windows 95/98)

echo Задачка 2
echo Как определить Версию операционной системы и в случае определения выполнить некий пакетный файл, и если MS-DOS то msdos.bat, если Windows 95 то win95.bat, если Windows 98 то win98.bat, если Windows XP то winxp.bat
Автор: Smitis
Дата сообщения: 15.10.2006 13:04
FXPELIVE

Цитата:
echo Задачка 2
echo Как определить Версию операционной системы и в случае определения выполнить некий пакетный файл, и если MS-DOS то msdos.bat, если Windows 95 то win95.bat, если Windows 98 то win98.bat, если Windows XP то winxp.bat

Что-то вроде

Код:
@echo off
ver | find "Microsoft Windows XP" > nul
if not errorlevel 1 goto win_xp
echo UNKNOW
goto end

:win_xp
echo WINDOWS XP
call win_xp.bat
goto end

:end
Автор: FXPELIVE
Дата сообщения: 15.10.2006 13:20
Smitis
Цитата:
Для проверки доступа можно попробовать использовать код возврата команды PING (пинговать известный стабильный сайт).

Пожалуйста, распиши поподробнее.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


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