Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: counter
Дата сообщения: 27.02.2006 09:14
Hrist


Цитата:
у меня создаеться архив кажную ночь (образ диска вернее говоря) акронисом.
и запускаеться смд - переименовывая его в текующу дату...
получаеться например три архива
23.02.2006.тиб
24.02.2006.тиб
25.02.2006.тиб


нужно в смд задать команду что бы удалялся файл названием на 3 меньше чем текущая дата - т.е. 26го числа должен удалиться 23.02.2006.тиб, а 27 соотв 24.02.2006.тиб и так далее...


Если это временный архив, который живет несколько дней и никуда больше не копируется, то проще файлы называть условно, например ARC1, ARC2, ARC3 и просто переименовывать файлы. Уже несколько лет так работает: ежедневно создается last.rar, а дальше идут переименования, по цифре видно глубину архива. Не нужно напрягать нализировать дату сначала комп, а потом человека при работе с файлами

if exist %ARCDIR%arc3.rar del %ARCDIR%arc3.rar >> %logfile%
if exist %ARCDIR%arc2.rar ren %ARCDIR%arc2.rar arc3.rar >> %LOGFILE%
if exist %ARCDIR%arc1.rar ren %ARCDIR%arc1.rar arc2.rar >> %LOGFILE%
if exist %ARCDIR%last.rar copy %ARCDIR%last.rar %ARCDIR%arc1.rar >> %LOGFILE%
Автор: KapralBel
Дата сообщения: 27.02.2006 09:15
Sully691
taskKill - встроенна в WinXP (~70kb)
Автор: Sully691
Дата сообщения: 27.02.2006 20:22
Я знаю, но оказалось в версии XP HE , ее нет даже в инсталяции, нашел только
в Pro. Сейчас буду разбираться.
Автор: Hrist
Дата сообщения: 28.02.2006 13:24
counter
благодарю...

сдлал


Код: if exist Arhiv.tib goto deli
goto end
:deli
if exist Arhiv3.tib del Arhiv3.tib
if exist Arhiv2.tib ren Arhiv2.tib Arhiv3.tib
if exist Arhiv1.tib ren Arhiv1.tib Arhiv2.tib
if exist Arhiv.tib ren Arhiv.tib Arhiv1.tib
:end
Автор: Sully691
Дата сообщения: 04.03.2006 07:30
KapralBel
Что-то у меня с батником не получилось. Доп.программы закрываются втоматом раньше чем головная. Что не так?
Автор: scup
Дата сообщения: 04.03.2006 08:15
Можно организовать батник для поиска и удаления дубликатов файлов? Особенно интересует случай, когда имена файлов разные, а размеры одинаковые.
Автор: KapralBel
Дата сообщения: 06.03.2006 09:02
Sully691
Приведи батник
Автор: endym
Дата сообщения: 06.03.2006 10:01
scup
можно. для этого он сравнивает содержимое файла построчно если размер одинаковый.

Добавлено:
или если файлы большие то пусть считывает определенные строки и присовпадении (содержимое строк +размер ) то пусть делает что захочешь (удаление или перемещение)
Автор: KapralBel
Дата сообщения: 06.03.2006 11:01
scup

Код:
@Echo Off
Del Result.txt /q >Nul
Del Temp.txt /q >Nul
For /R I:\ %%a IN (*.*) DO @Echo %%~za*"%%a" >>Temp.txt
For /F "delims=* tokens=1-2" %%a In (Temp.txt) Do @Call :_Parse %%a %%b

GoTo :EOF

:_Parse
Set File=%2
Set Size=%1
For /F "delims=* tokens=1-2" %%a In (Temp.txt) Do @Call :_CompareSize %%a %%b %1 %2
GoTo :EOF

:_CompareSize
Set F1=%2
Set F2=%4
Set S1=%1
Set S2=%3
If %F1%==%F2% GoTo :EOF
If %S1%==%S2% Call :_CompareContent %F1% %F2%
GoTo :EOF

:_CompareContent
FC %1 %2 >Nul
GoTo :_Result%ErrorLevel%
GoTo :EOF


:_Result1
GoTo :EOF

:_Result0
Echo %1==%2 >>Result.txt
GoTo :EOF
Автор: dasm
Дата сообщения: 07.03.2006 15:21
Возможно ли, vbs-скриптом сделать так, чтобы html-файл сохранялся в виде mht-файла автоматически? Например:
htm2mht.vbs htmfile.htm mhtfile.mht.
Автор: Nick 2003
Дата сообщения: 12.03.2006 02:07
KapralBel

Цитата:
Какой срок аренды IP - адресов у DHCP-сервера?

Извини, я в этом не очень соображаю, а где это можно узнать ? Думаешь с этим связано ?
PS. долго не заходил в эту тему, просто не надеялся.
Автор: VovIK
Дата сообщения: 13.03.2006 10:02
Nick 2003

Цитата:

Цитата: Какой срок аренды IP - адресов у DHCP-сервера?


Извини, я в этом не очень соображаю, а где это можно узнать ?
Автор: KapralBel
Дата сообщения: 13.03.2006 10:07
Nick 2003
Настройки DHCP-сервера
Выбираешь нужную область - свойства - Закладка "General/общее" - в самом низу - срок аренды
При достаточно больших сроках (час и больше) очень малый шанс на то что пока ты освободишь текущий АйПи - кто нибудь его присвоит, при запросе на АйПи нового обычно DHCP-сервер выдает тот адрес, который комп обычно использует (если он не занят, конечно).
при маленьких же сроках аренды на сеть идет большая нагрузка + к этому при малейшей недоступности DHCP - сервера - на компах пользователей идет сплошные Предупреждения о невозможности получить АйПи

Добавлено:
Можно и тем способом, который указал VovIK
Автор: Nicka_Grey
Дата сообщения: 13.03.2006 17:05
Вопросик такой:
нужно в батнике написать такое
set scriptName=%scriptDir%\12941.List_Recipient.UPDATE.28.02.2006.sql
echo where ln.id_person = lr.uniq_num) > 0) and >>%scriptName%
echo and ln.flag_sending <=0))))) ; >>%scriptName%
так беда в том что строки со знаками < и > не пишутся в файл
как такое сделать?

Добавлено:
Все, разобрался, нашел как.
Всем спасибо
Автор: Nick 2003
Дата сообщения: 14.03.2006 21:14
VovIK
KapralBel
Спасибо, срок аренды написан 2 часа, а уменьшить его нельзя ? И почему тогда при отключении/включении сетевухи хоть каждые 10 сек IP всегда меняется ? Можно тогда с помощью какого-нибудь батника отключать и включать сетевую карту чтобы не вручную этим заниматься ?
Автор: Hrist
Дата сообщения: 20.03.2006 14:51
counter

Цитата:
if exist %ARCDIR%arc3.rar del %ARCDIR%arc3.rar >> %logfile%
if exist %ARCDIR%arc2.rar ren %ARCDIR%arc2.rar arc3.rar >> %LOGFILE%
if exist %ARCDIR%arc1.rar ren %ARCDIR%arc1.rar arc2.rar >> %LOGFILE%
if exist %ARCDIR%last.rar copy %ARCDIR%last.rar %ARCDIR%arc1.rar >> %LOGFILE%

забавно - когда эксперементирую с пцустыми файлами - все ок
когда файлы ао 15-20гиг в конце концов остаеться только arc1

есть подозрение что из за большого размера система маленко не успевает...
как поставить паузу на определенное время между каждо операцией
Автор: KapralBel
Дата сообщения: 20.03.2006 15:04
Hrist
Команды должны (в этом случае) выполняться последовательно
Приведи лог-файл
Автор: VAbramyak
Дата сообщения: 24.03.2006 20:11
Как в батнике правильно написать
есть директория в ней есть еще несколько надо пройтись по них и удалить файлы которые не отвечают маске ????%month%??.ge%geo%? Спасибо!
Автор: Yuk
Дата сообщения: 24.03.2006 20:22
VAbramyak

Код: del /s mask
Автор: volodyalipkin
Дата сообщения: 24.03.2006 20:29
VAbramyak
В три этапа.
1) Всё что нужно сохранить переписываем во временную директорию
2) Удаляем то что не нужно
3) Нужное переписываем назад.
Автор: VAbramyak
Дата сообщения: 24.03.2006 20:32
неужели варианта попроще нету?
Автор: Serge2005
Дата сообщения: 25.03.2006 11:50
Скажите, пожалуйста, как сделать командный файл (или что?), который будет менять значения параметров в wincmd.ini:
Mainmenu=WCMD_RUS.mnu
LanguageIni=WCMD_RUS.LNG
На:
Mainmenu=WCMD_ENG.mnu
LanguageIni=WCMD_ENG.LNG
?
Автор: BasiL
Дата сообщения: 25.03.2006 15:36
Serge2005

Цитата:
Скажите, пожалуйста, как сделать командный файл (или что?), который будет менять значения параметров в wincmd.ini

Имхо, менять строчки в текстовом файле и перегружать ТС сложнее, чем менять сами файлы (их имена)
Т.е. прописываешь один раз язык.
потом пользуя ren меняешь имена файлов
taskkill убивает процесс ну и запускаешь ТС.
Или еще проще - сделать два разных ини, и из батника запускать нужный вариант...
Если нужна смена, то можно сделать батник, который будет туда-сюда переименовывать файлы.
Типа запустил один раз - морда русская
еще раз кликнул (ТС убился, файлы перименовались, ТС запустился) - морда на английском...
Автор: Serge2005
Дата сообщения: 25.03.2006 17:12
BasiL
Спасибо, но этот, простой, вариант я знаю.... Мне не подходит...
Мне нужно замену строк в файле (это не только для конкретного этого примера).
Скажите, пожалуйста, как это сделать, или где почитать / посмотреть пример.
Автор: LEX1
Дата сообщения: 25.03.2006 23:35
Serge2005
AutoIt v3

Цитата:

If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
FileChangeDir(EnvGet("COMMANDER_PATH"))
WinClose ( "Total Commander" )
If IniRead ("Wincmd.ini", "Configuration", "LanguageIni", " " ) = "WCMD_RUS.LNG" Then
IniWrite ( "Wincmd.ini", "Configuration", "Mainmenu", " " )
IniWrite ( "Wincmd.ini", "Configuration", "LanguageIni", " " )
Else
IniWrite ( "Wincmd.ini", "Configuration", "Mainmenu", "WCMD_RUS.MNU" )
IniWrite ( "Wincmd.ini", "Configuration", "LanguageIni", "WCMD_RUS.LNG" )
EndIf
Run ( "Totalcmd.exe" )

Бинарник здесь (110Kb)
Автор: slech
Дата сообщения: 26.03.2006 11:33
Народ кто подскажет.
net user /domain выдаст примерно следующее

user1 user105 user 505
user2 user106 user 506
....... ....... .......

Как это превратить в строчку вида

user1
.......
user1000



чтобы затем for /f "tokens=1" %%i in (user.txt) do net user %%i /domain
узнать инфу о каждом.
Может можно как-то проще ?

Заранее спасибо.
Автор: LEX1
Дата сообщения: 26.03.2006 12:09
slech
Попробуй net user /domain | sort
Автор: slech
Дата сообщения: 26.03.2006 19:26
LEX1
не подходит
Автор: jak_forest
Дата сообщения: 27.03.2006 14:48
slech
смотри здесь: Задачи на bat-файлах
Автор: ozioso
Дата сообщения: 27.03.2006 15:08
Имеется директория с поддиректориями.

Необходимо в текстовый файл вынести список файлов всех поддиректорий.
Файлы обзываются и по-русски, и по-английски.

В идеале: сортировать файлы по алфавиту.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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