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

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

Автор: Kronix
Дата сообщения: 26.10.2006 17:16
Да в любой форме, хотя бы так:

Кидаю в файл 123:
a1.txt
a2.txt

Чего хочу:
Если a3.txt есть в 123, то "вы уверены, что хотите обработать файл, он уже обрабатывался" (пользоватеь говорит, ага, хочу, запускаем обработку, нет - выход), иначе занести a3.txt в 123 и запускаем обработку a3.txt

Желательно:
Чтобы в файлик 123 попадала ещё дата и время обработки. Ну тогда и в сообщении "Чего хочу" добавить дату обработки последнего такого файла
Автор: Elroir
Дата сообщения: 26.10.2006 21:06
Kronix

Код:
@echo off
chcp 1251 > nul
setlocal
set found=no
for /F "tokens=1,2,3 delims=*" %%I IN (Processed.txt) DO (
if "%%I"=="%~1" (
set found=yes
set fname=%%I
set pdate=%%J
set ptime=%%K
))
if "%found%"=="no" goto process
set /p answer=Файл %~1 уже обрабатывался %pdate% %ptime%, хотите продолжить?
if /i "%answer%"=="n" goto exit

rocess
echo.%~1*%date%*%time%>> Processed.txt
rem Тут пишем строчку обработки файла
rem PROCESS %1

:exit
endlocal
Автор: sD31337
Дата сообщения: 27.10.2006 00:00
KapralBel
Привет я совсем недавно начал изучать bat* у меня к тебе огромная просьба если тебе не трудно скинь мне на мыло какие нибудь самоучители для чайников по bat* если таковые имеютяс или полезную инфу и еще вопрос к тебе долго ли ты изучал Bat и все что с ним связано за ранние огромное спасибо

Добавлено:
привет всем у меня такой вопрос. На работе у меня в соседнем отделе есть интернет я знаю пароль и ip сервера и человека у каторого есть инет можно ли как нибудть через bat подключится к инету?
Автор: loat
Дата сообщения: 27.10.2006 00:52
помогите плс.

@echo off
if "%1"=="" goto exit
chcp 1251 > nul
for %%i in ( %1*.* ) do (
del "%%i" 2>nul > nul
if not exist %%i ( echo Файл "%%i" удален. ) else ( call :choice "%%i" )
)
goto exit

:choice
setlocal
set del_choice=
set /p del_choice=Файл %1 защищен от удаления. Удалить его?
if not '%del_choice%'=='' set choice=%choice:~0,1%
if /I '%del_choice%'=='Y' call :force %1
if /I '%del_choice%'=='Д' call :force %1
endlocal
goto exit

:force
del /f /q %1
echo Файл %1 удален.

:exit



вот батник который удаляет все файлы которые начинаються на букву которая задаеться параметром. А скрытые файлы спрашивает удалить или нет.
проблема в том что в cmd.exe вместо русских букв пишуться караказябры (winxpsp2 тестилось на 3х компах)
помогите пожалуйста исправить чтобы писалось по русски.
Автор: Kronix
Дата сообщения: 27.10.2006 01:22
Elroir
Спасибо, то что нужно!

Добавлено:
а существует ли в батнике логическое или для if?
if a==1||b==1 ()
не проходит
Автор: KapralBel
Дата сообщения: 27.10.2006 09:39
sD31337
1. Help
2. Команда /? (например IF /?)

Как таковых у меня учебников нет - мне достаточно встроенной справки

Работаю с батничкми еще со времен ДОС-а, года так с 1991-1992
Автор: Kronix
Дата сообщения: 27.10.2006 09:51
Как сделать, чтобы не выводились сообщения:
Не удается найти указанный файл
Скопировано файлов: 1

Вроде @echo off должно их подавлять, но нет

Добавлено:
и как запустить батник, чтобы досовское окошко не появлялось, заранее СПАСИБО!
Автор: KapralBel
Дата сообщения: 27.10.2006 10:00
Kronix
Echo Off - подавляет вывод в стандартный поток, но не в поток ошибок
Сделай на команде
Copy Source Target >Nul
Автор: isem
Дата сообщения: 27.10.2006 11:17
loat

в начале пропиши
chcp 1251
Автор: Elroir
Дата сообщения: 27.10.2006 11:18
Kronix

Цитата:
а существует ли в батнике логическое или для if

Не существует - можно использовать конструкцию из вложеных if .. else.

Цитата:
и как запустить батник, чтобы досовское окошко не появлялось

В шапке, в разделе "Пелезные ссылки" - утилита cmdow

loat
Ты случайно не на полный экран cmd открываешь?

Добавлено:
isem
Там на третьей строчке уже прописано "chcp 1251"
Автор: loat
Дата сообщения: 27.10.2006 13:19
isem
там прописано. посматри внимательней.

Elroir
нет не на полный экран. а какая разница?
Автор: Elroir
Дата сообщения: 27.10.2006 13:34
loat
Разница в фонте, который используется.
Проверь, стоит ли в Control Panel->Regional and Language Options->Advanced->
Language for non-Unicode programs, русский язык. Если нет - установи.
Автор: loat
Дата сообщения: 27.10.2006 16:39
Elroir
стоит русский, но все равно караказябры....
Автор: Shish_kebab
Дата сообщения: 27.10.2006 20:17
Всем привет.
Такая вот задача.
Есть папка papka1 в ней есть файл file1 туда (в папку papka1) копируется файл с именем file1, нужно есле размер имеющегося файла в папке больше размера копируемого то копирование не делать. Возможно такое ?
Автор: Elroir
Дата сообщения: 27.10.2006 22:36
Shish_kebab
Возможно. В качестве параметра передаешь название файла, который надо скопировать.

Код:
@echo off
setlocal
set fold_name=papka1
if not exist "%fold_name%\%1" (
copy "%1" "%fold_name%\"
goto :EOF
)
call :comp "%1" "%fold_name%\%1"
goto :EOF
:comp
if %~z2 GTR %~z1 goto :EOF
copy /y %1 %2 > nul
Автор: sD31337
Дата сообщения: 27.10.2006 23:01
Всем привет какая команда открывает сидюк ? если такая вообще есть ) и как вписать в созданый документ текст например я создал 1.txt как туда вписать текст заранние спасибо.
Автор: Elroir
Дата сообщения: 27.10.2006 23:11
sD31337

Цитата:
какая команда открывает сидюк ? если такая вообще есть

Встроенной команды нет - попробуй сторонние утилиты, например nircmd.

Цитата:
как туда вписать текст

командой echo:

Код: echo Any text you like >> 1.txt
Автор: sD31337
Дата сообщения: 27.10.2006 23:16

Elroir

Спасибо большое )
Автор: centell
Дата сообщения: 28.10.2006 11:06
Добрый день.
Я совсем недавно начал изучать bat*.
Плиз помогите вот в чем.
В определенной папке необходимо удалять файлы недельной давности.
Сам понимаю что эт оч просто, но плиз помогите!

Автор: Refugee
Дата сообщения: 28.10.2006 17:55
centell
ну например так: XXCOPY.EXE "your folder\*.*" /FC /DB#7 /RS /S /YY /ED1
xxcopy есть в варезнике
Автор: swertyqw
Дата сообщения: 29.10.2006 12:18
У меня ну ОООЧЕНЬ простой вопрос!

как написать батник который копировал бы ВСЁ, что находится в папке test1 в папку test2 (с файлами то понятно, а вот как быть с папками не знаю... )
Автор: BorlandIMHO
Дата сообщения: 29.10.2006 13:15

Цитата:
У меня ну ОООЧЕНЬ простой вопрос!

как написать батник который копировал бы ВСЁ, что находится в папке test1 в папку test2 (с файлами то понятно, а вот как быть с папками не знаю... )


Код: xcopy test1 test2 /s /e
Автор: sD31337
Дата сообщения: 29.10.2006 13:45
привет еще раз всем , подскажите как выключить компьютер с помощью бат ?
Автор: Elroir
Дата сообщения: 29.10.2006 13:54
sD31337
http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1660#18
Автор: BorlandIMHO
Дата сообщения: 29.10.2006 13:55

Цитата:
как выключить компьютер с помощью бат ?

Воспользоваться командой shutdown (есть в XP и 2003, для NT4 и 2000 - в составе Resource Kit).
Автор: sD31337
Дата сообщения: 29.10.2006 21:54
как создать папку а вней текстовый докумет ?
подскажите как убрать иконки и вообще все садержимое рабочего стола при помощи бат )
Автор: ViSiToR
Дата сообщения: 29.10.2006 22:40
sD31337

Цитата:
пример shutdown


Код: ShutDown -s -f
Автор: turkmen
Дата сообщения: 30.10.2006 14:05
задача простая, но столкнулся струдностями.
нужен батник
чтоб пинговал постоянно определенный айпи 192,168,1,1
пинг зациклить
если пинг не проходит то батник должен закрываться
для хп
напсиал следующее
@Echo Off
:cikl
ping -n 1 192.168.1.1>Nul
if %errorlevel%==0 (echo OK) else (exit)
goto cikl

но на виндовс 200 ас
почему то не работает
все вермя пинг проходит
Автор: vzbzdnov
Дата сообщения: 30.10.2006 15:59
Народ,
Помогите с такой задачей (когда-то давным давно я такое делал в ДОСе, но очень громоздко, помню, было и все батники потеряны)
Итак, имеются папка \books, а в ней папки по авторам. В каждой папке автора лежат rar и zip архивы книг. Причем, часть книг в кодировке 1251, а часть в 866. К тому же, в двух архивах может быть одна и та же книга, т.е. имеются дупликаты. Кроме того, в архивах могут быть картинки, nfo файлы и readme файлы.
Требуется:
1. пробежать по всем авторам
2. разархивировать все архивы автора куда-нить. При этом дупликаты, естессно, исчезнут. Если можно, хотелось бы оставить более позднюю копию.
3. пропустить все файлы через прогу recode 1251 infile outfile, которая поменяет 866 на 1251, а 1251 не тронет
4. заархивировать только тексты все файлы в папку \books о обозвать архив тем же именем, что и автор. Картинки, nfo файлы и readme файлы гонорировать и в архив не включать.
В результате все кники окажутся в \books с названием типа Pushkin Alexandr.rar и можно будет прибить авторские папки.
Автор: Kirillhome
Дата сообщения: 30.10.2006 16:35
vzbzdnov
Два вопроса:
1) Как отделить "зёрна от плевел" - т.е. нужные книги от всего остального?
2) Что проверять на "свежесть" - архивы или файлы в архивах? (т.е. архив 1 создан 25/07/2006, а архив 2 - 25/09/2006, в каждом из архивов - файл с одинаковым названием, но в архиве 1 - с датой 20/04/2006, а в архиве 2 - с датой 20/03/2006)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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