imho.ws |
![]() |
![]() |
![]() |
# 1 |
::VIP::
Guinness Liker Понаехало тут Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Кодинг в batch
Заранее сори если не там где нужно разместил тему, просто не могу определить где ее надо постить
![]() Итак.. кто-нить знает, где взять полный список команд, которые используются в *.bat файлах для скриптов? Или может какие-то хелпы по созданию скриптов?
__________________
меня не вылечат
![]() |
![]() |
![]() |
# 21 | ||
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Wiedemann http://imho.ws/showpost.php?p=882716 Moderator: А чегой то тема про бэтчи лежит в "Интернете" а не в "програмировании" ? Последний раз редактировалось crawler; 29.03.2006 в 01:11. |
||
![]() |
![]() |
# 22 | |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Цитата:
![]()
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
|
![]() |
![]() |
# 23 |
Newbie
Регистрация: 23.10.2005
Сообщения: 14
![]() |
MS-DOS
Создать BAT-файл.
"Загружено операционная система. Отформатировать диск А как системный. Текщим является дисковод А. Посмотреть содержание диска А. Скопировать все файлы с расширением PAS и BAK с диска С в корневой каталог диска А. Все файлы на диске А, не имеющие расширения ВАК, удалить. Восстановить на диске А удаленные файлы. На диске А организовать файловую структуру следующим образом: все файлы с расширением PAS переместить в подкаталог PAS, а файлы с расширением ВАК в подкаталог ВАК корневого каталога диска А." Все файлы на диске А, не имеющие расширения ВАК, удалить. - Как реализовать??? |
![]() |
![]() |
# 25 |
::VIP::
Регистрация: 14.05.2003
Адрес: 127.0.0.1
Сообщения: 852
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А как включить через .bat подключение по локальной сети? Пробовал сделать через ярлык по типу start "путь к ярлыку" , но что-то так не работает.
__________________
reality.sys corrupt Kernel panic - not syncing: Fatal exception halt life(y,n)? |
![]() |
![]() |
# 26 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Warchief
А подробнее можно? Подключение сетевых дисков или вход в домен или что?
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
![]() |
![]() |
# 27 |
::VIP::
Регистрация: 14.05.2003
Адрес: 127.0.0.1
Сообщения: 852
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Borland
Да нет просто включение сетевого подключения. Вместо того чтобы идти в "сетевые подключения" и там кликать по иконке, хотел сделать bat файл.
__________________
reality.sys corrupt Kernel panic - not syncing: Fatal exception halt life(y,n)? |
![]() |
![]() |
# 28 | |
Full Member
Регистрация: 15.09.2004
Адрес: Палата74@Дурдом.RU
Пол: Male
Сообщения: 593
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Если второе - "NET USE ?" с консоли.
__________________
Количество ума на Земле постоянно, а население растёт... Последний раз редактировалось Gr@nd@d; 05.09.2006 в 14:22. |
|
![]() |
![]() |
# 31 |
::VIP::
Регистрация: 23.05.2005
Пол: Male
Сообщения: 1 064
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
DIZEL777 для начала можно прочитать эту тему с начала, там приведены команды которые можно использовать в bat файлах, а вообще "батники" это не то с чего нужно начинать заниматься программирование.
Если нужно именно программирование, то тогда уж начинать так сказать "классически" с паскаля или Delphi (или даже с basic-ка). По ним и книжек можно найти и вообще море информации. По "программированию в bat" ты так много информации не найдешь.
__________________
Умный не тот кто все знает, а тот кто знает где узнать то чего он не знает. Life is only what you make it.
|
![]() |
![]() |
# 32 |
Newbie
Регистрация: 05.04.2006
Сообщения: 30
![]() |
Собственно вопрос.
Нужно из %1 выделить имя файла с расширением. %~nx1 не работает в силу ряда причин. сделал так: set i=%1 set TEMP=C:\TEMP copy %1 %TEMP% cd C:\TEMP if exist etoono.txt del etoono.txt SET B="" dir %1 /B>>etoono.txt for /f "tokens=* delims=." %%A in (etoono.txt) do set B=%%A if exist etoono.txt del etoono.txt Но это криво. Хочется прямо. Какие будут предложения? |
![]() |
![]() |
# 33 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
В силу каких таких причин?
Только что проверил - у меня всё прекрасно работает... Да, нельзя применять оператор ~nx к переменной окружения, установленной командой set внутри того же пакетного файла - он получит на входе пустую строку, что с его точки зрения недопустимо. Да, команда echo %i в вышеприведённом пакетном файле выдаст пустую строку - это какое-то фундаментальное ограничение командного процессора. Но какие причины мешают использовать в командах пакетного файла непосредственно %~nx1 в качестве искомого имени с расширением? ![]()
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий Последний раз редактировалось Borland; 16.03.2007 в 11:32. |
![]() |
![]() |
# 34 |
Newbie
Регистрация: 05.04.2006
Сообщения: 30
![]() |
Согласен, на обычных батниках %~nx1 работает замечательно. Но есть такая прога Pview_X5, которая свои настройки хранит в файле с расширением EXT. Но на деле это простой батник. И именно его мне нада править. И именно в нем расширенный синтаксис типа %~nx1 не работает. Почему не работает я не знаю
![]() сама прога Последний раз редактировалось Borland; 16.03.2007 в 13:24. |
![]() |
![]() |
# 35 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
И в чём проблема?
echo %~nx1>>file.ext выдаст в file.ext как раз-таки имя файла с расширением. Если структура file.ext (фактически простой текстовый файл) известна, то ничто не мешает сформировать его при помощи команд типа вышеприведённой перед запуском проги... Если уж совсем невмоготу, с тем же успехом практически всё содержимое приведённого командного файла можно заменить на вызов одного внешнего cmd-шника типа call set_b %1, в котором будет всего одна команда set b=%~nx1 Эффект будет ровно такой же - переменная окружения B будет установлена в требуемое значение. добавлено через 2 минуты Ещё раз приаттачишь прогу - получишь нефиговый штраф! ![]()
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
![]() |
![]() |
# 37 |
Junior Member
Регистрация: 05.02.2006
Сообщения: 72
![]() |
помогите написать "батник"
прошу помощи в написании батника, задача такова:
есть 5 файлов, file, file_1, file_2,file_3, file_4 нужно в результате обработки скрипта, получать вот такое вот переименование file > file_1 file_1> file_2 file_2 > file_3 file_3 > file_4 file_4 > file грубо говоря это цикл, мне нужно зациклить переименование файлов, но в одно выполнение скрипта, один круг объясню зачем: настроил инкрементальное архивирование, хотел бы еще иметь разнос по времени в один час. на perl-е, либо php, написал бы и сам, а вот виндовс-консоль побороть не смог, помогить кто чем может wmi скрипт тоже подойдет. |
![]() |
![]() |
# 38 |
Newbie
Регистрация: 11.01.2007
Сообщения: 13
![]() |
cd "там где лежат файлы"
move file_4 file_tmp if errorlevel 1 goto ErrorMove move file_3 file_4 if errorlevel 1 goto ErrorMove move file_2 file_3 if errorlevel 1 goto ErrorMove move file_1 file_2 if errorlevel 1 goto ErrorMove move file file_1 if errorlevel 1 goto ErrorMove move file_tmp file if errorlevel 1 goto ErrorMove exit :ErrorMove ... действия при ошибке перемещения....
__________________
Гениальная бездарность... |
![]() |
![]() |
# 39 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Примерно так:
renamer.cmd Код:
@echo off set TMPFILENAME="file0.tmp" set LOGFILENAME="logfile.txt" set FILENAME1="file_1" set FILENAME2="file_2" set FILENAME3="file_3" set FILENAME4="file_4" set FILENAME5="file" IF EXIST "%TMPFILENAME%" ( echo ABNORMAL LASTTIME TERMINATED!!! EXITING. echo SEE "%LOGFILENAME%" FOR DETAILS echo PRESS ANY KEY TO EXIT pause>nul goto FINISH ) echo Started at %DATE% %TIME% >"%LOGFILENAME%" ren "%FILENAME5%" "%TMPFILENAME%" IF ERRORLEVEL 1 GOTO TERMINATE echo Renamed "%FILENAME5%" to "%TMPFILENAME%" at %DATE% %TIME% >>"%LOGFILENAME%" ren "%FILENAME4%" "%FILENAME5%" IF ERRORLEVEL 1 GOTO TERMINATE echo Renamed "%FILENAME4%" to "%FILENAME5%" at %DATE% %TIME% >>"%LOGFILENAME%" ren "%FILENAME3%" "%FILENAME4%" IF ERRORLEVEL 1 GOTO TERMINATE echo Renamed "%FILENAME3%" to "%FILENAME4%" at %DATE% %TIME% >>"%LOGFILENAME%" ren "%FILENAME2%" "%FILENAME3%" IF ERRORLEVEL 1 GOTO TERMINATE echo Renamed "%FILENAME2%" to "%FILENAME3%" at %DATE% %TIME% >>"%LOGFILENAME%" ren "%FILENAME1%" "%FILENAME2%" IF ERRORLEVEL 1 GOTO TERMINATE echo Renamed "%FILENAME1%" to "%FILENAME2%" at %DATE% %TIME% >>"%LOGFILENAME%" ren "%TMPFILENAME%" "%FILENAME1%" IF ERRORLEVEL 1 GOTO TERMINATE echo Renamed "%TMPFILENAME%" to "%FILENAME1%" at %DATE% %TIME%>>"%LOGFILENAME%" echo Finished Successfully at %DATE% %TIME%>>"%LOGFILENAME%" GOTO FINISH :TERMINATE echo ABNORMAL TERMINATION!!! echo ABNORMAL TERMINATION at %DATE% %TIME% >>"%LOGFILENAME%" echo SEE "%LOGFILENAME%" FOR DETAILS echo PRESS ANY KEY TO EXIT pause>nul :FINISH REM Здесь ещё можно встроить отправку лога консольным mail-клиентом на админское мыло EXIT
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий Последний раз редактировалось Borland; 22.01.2008 в 00:51. Причина: Добавил кавычки в переменным-именам файлов. Так правильнее. |
![]() |