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

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

Автор: siemensbbbb
Дата сообщения: 29.08.2005 22:09
у меня там так написано что добавить??
@ call \\notebook\Games\pool.cmd
Автор: Da_Neil
Дата сообщения: 29.08.2005 22:12
Замени call на start или start /b. А ты уверен, что асинхронное выполнение не нарушит работу батника?
Автор: siemensbbbb
Дата сообщения: 29.08.2005 22:16
счасс попробуем


Добавлено:
не неполучилось окно продолжает висеть но уже даже после закрытия программы каторую он запускал...
Автор: KapralBel
Дата сообщения: 30.08.2005 09:13
siemensbbbb

@Echo Off
Start ...
Exit

а так пойдет?

Добавлено:
Кстати должно пойти и без Start - главное последней строкой - Exit

Da_Neil
Интересно - какую папку "не находит" - там

Цитата:
"s:\Multimedia\Soundz Good\Tag\Tag.exe" --ape2 -f "CUESHEET=E:\Stoloff & Hopkinson — Documents Enclosed [2001] [EAC+APE, CUE+LOG inside by djet].ape.cue" -f "LOGFILE=E:\Documents Enclosed.log" --artist "Stoloff & Hopkinson" --album "Documents Enclosed" --year "2001" --genre "Experimental, Abstract, Leftfield" -t "RELEASER=djet" "E:\Stoloff & Hopkinson — Documents Enclosed [2001] [EAC+APE, CUE+LOG inside by djet].ape"

Единственная папка - это путь к программе
Автор: Da_Neil
Дата сообщения: 30.08.2005 16:07
KapralBel
Понятия не имею.. Уже удалил все материалы, и не с чем экспериментировать. Но батники как ни странно, работают, причём даже с именами файлов, включающих "—" или "&" (имя задаётся EAC'ом, а не батником). Проблема в том, как создать из батника файл с тире.
Автор: igor_andreev
Дата сообщения: 30.08.2005 22:18

Цитата:
Проблема в том, как создать из батника файл с тире.

Скопируй в обычный виндовый блокнот и сохрани, как test.cmd

Код:
@echo off
chcp 1251
echo la—la-la—la>—^&-.txt
Автор: Da_Neil
Дата сообщения: 30.08.2005 23:21
igor_andreev
Спасибо за предложенное решение — работает А я раньше думал, что chcp только досовские кодировки понимает..
Автор: Smitis
Дата сообщения: 30.08.2005 23:39
bredonosec

Цитата:
ntcmds.chm
- Это по командной строке для ХР, которая, вроде как несколько дополнена и расширена по сравнению с 9х. А как в 9х такое может зваться? (по хелпу полазил - что-то не нахожу.. единственный batch - инструкции по созданию унаттенд инсталла

Командный процессор в 9х достаточно простой, весь хелп по командам можно получить через ключ /? А ещё там, вроде, команда help была.
Если мало возможностей в 9х стандартного ком. процессора, обрати внимание на 4DOS _http://jpsoft.com/ Несмотря на некоторую несовместимость, я с большим успехом использовал его на 98-х вместо стандартного (есть некоторые тонкости). Кроме того, 4NT под 98-ми работал. Сейчас 4DOS ко всему прочему, стал бесплатным.
Автор: bredonosec
Дата сообщения: 31.08.2005 01:02

Цитата:
хелп по командам можно получить через ключ /?
- да я к тому, что в снм справке обычно и примеры даются,и обьясняется, а не только голый синтаксис..
"Знание всех букв алфавита не обеспечивает грамотность письма"(С)..
Автор: Smitis
Дата сообщения: 01.09.2005 18:43
bredonosec
Для 9х этой информации вообще очень мало. (Всё дальнейшее - ИМХО, слегка подзабытое по прошествии трёх лет)
Во-первых, потому, что синтаксис командного процессора для 9х довольно убог, по сравнению с линейкой NT (видимо, мало желающих было заниматься этим вопросом для 9х, при наличии более продвинутых НТ).
Во-вторых, мелкософт пыталась "забыть" ДОС, как страшный сон (в результате отказ от ДОС-стадии загрузки в "линолиуме").
В-третьих, изменений, по сравнению с ДОС 6.хх - в основном в сторону уменьшения - удалены многие внешние команды, типа, потерявшие актуальность и др. (я бы не сказал, что UNDELETE теряла актуальность). Уменьшилось количество ключей для defrag и прочих утилит обслуживания файловую систему (правда, добавились ключи для работы с планировщиком).

Из новых возможностей (по памяти):
- поддержка длинных имён =) ;
- три новые внутренние команды LOCK, UNLOCK, LFNFOR (или FORLFN, уже не помню)
- поддержка относительных путей типа ...\ (на два уровня вверх) ....\ (на четыре уровня вверх) и т.д. (кстати, в линейке нт эту фичу почему-то не добавили )
- команда xcopy32 - пришла из win 3.xx. Там она была более продвинутая в плане оптимизации работы с файловой системой. В 9х работает также, как xcopy (обе используют один программный модуль). Ну, и сама xcopy более продвинутая.
- ну может ещё что по мелочи (не принципиально)
Почитать о ДОС 6 можно, например сдесь
http://cylib.iit.nau.edu.ua/Books/OS/DOS/msdos/index.htm
или сдесь
http://citforum.novgorod.net/operating_systems/msdos/index.shtml
ну или, наконец, воспользоваться поиском


Добавлено:
Ах да, добавились ещё две большие ПРОБЛЕМЫ:
- Проблема с кодировками (думаю, объяснять не надо, эта проблема актульна и под НТ).
- Проблема с кавычками (как я её называю) - разрешение использовать в именах файлов пробелов и некоторых символов вызвала необходимость заключать имена в кавычки (подробности опускаю). А тут ещё какой-то кретин, сдвинутый на C & UNIX придумал использовать символ "\" перед кавычками, чтобы отменить их действие. В результате, например, deltree "c:\program files\" будет работать, нормально воспринимая путь, оканчивающийся на "\" как папку (директорию, бишь), а некоторые проги воспримут послуднюю кавычку как часть имени. Не хочу сейчас вспоминать подобные проги, главное, никогда заранее не знаешь от очередной, как она себя поведёт. Смешно, но команда chdir c:\program files нормально работает вообще бех кавычек! (с кавычками тоже работает)
Автор: Da_Neil
Дата сообщения: 01.09.2005 19:19
Smitis

Цитата:
поддержка относительных путей типа ...\ (на два уровня вверх) ....\ (на четыре уровня вверх) и т.д. (кстати, в линейке нт эту фичу почему-то не добавили )

Как же-с? ..\..\..\, ..\..\..\..\ и т.д..
Автор: Smitis
Дата сообщения: 03.09.2005 00:00
Da_Neil

Цитата:
Как же-с? ..\..\..\, ..\..\..\..\ и т.д..

Это тоже работает Но есть ещё и сокращенный вариант
Автор: bredonosec
Дата сообщения: 12.09.2005 04:16

Цитата:
Но есть ещё и сокращенный вариант

Единственное "сокращение", которое понимаю - начало пути с \ (значит из корня)
Если имеется другое - огласи.
Автор: GAAlex
Дата сообщения: 12.09.2005 08:13
Задача: сделать архивацию файлов внутри каталога. Обойти все каталоги. т.е в каждом каталоге должен быть идин файл типа имя_каталога.zip. Не работает следующий батник.
Подскажите.

REM Архивация всех файлов в подкаталогах любого уровня
FOR /R %%i IN (*.*) DO (
cd %%i
echo %%i
pkzipc.exe -add -max -header=@C:\!!\!\header.txt %%i *.*

REM ключ -move перемещает файлы в архив
cd ..
)
Автор: KapralBel
Дата сообщения: 12.09.2005 12:06
GAAlex

Измени одну строку на
FOR /R %%i IN (.) DO (
Автор: GAAlex
Дата сообщения: 12.09.2005 13:09
KapralBel
Нахожуть в каталоге D:\_!_\Dir\1\
PKZIPC пишет:
Can't open ZIP file D:\_!_\Dir\1\1
Автор: KapralBel
Дата сообщения: 12.09.2005 13:25
GAAlex

Пришли мне на (ZaharenkoVN /собак/ TUT.By)
PKZIPC и C:\!!\!\header.txt
Посмотрю что можно сделать - кажется PKZIPC - не понимает, что ты её передаешь - а проверить из-за отсутствия оной не могу
Автор: igor_andreev
Дата сообщения: 12.09.2005 14:33
GAAlex

Код:
@ECHO OFF
CD /D D:\root_folder
FOR /R /D %%A IN (*) DO (
pkzipc.exe -add -max -header=@C:\!!\!\header.txt "%%~fsA\%%~nA" "%%~fsA\*.*"
)
Автор: KapralBel
Дата сообщения: 12.09.2005 15:30
igor_andreev

Я часто нарывался на различие в интерпретации командных строк разными архиваторами.
Хотя может и будет работать
Автор: igor_andreev
Дата сообщения: 12.09.2005 19:36
KapralBel

Цитата:
Хотя может и будет работать

Работает. Только что скачал PKZIP 8.1 Command Line - попробовал.

Цитата:
различие в интерпретации командных строк разными архиваторами

Я проверяю обычно, заключая комстроку в ECHO[комстрока]>>file.txt. Даже за неимением pkzipc.exe стартую TEST.CMD

Код:
@ECHO OFF
CD /D %windir%
FOR /R /D %%A IN (*) DO (
ECHO.pkzipc.exe -add -max -header^=@C:\!!\!\header.txt "%%~fsA\%%~nA.zip" "%%~fsA\*.*">>%~dps0\TEST_2.CMD
)
Автор: Smitis
Дата сообщения: 12.09.2005 20:59
bredonosec

Цитата:
Единственное "сокращение", которое понимаю - начало пути с \ (значит из корня)
Если имеется другое - огласи.

вместо ..\.. можно писать ...
вместо ..\..\.. можно писать ....
и т.д.
Автор: WispAssassin
Дата сообщения: 12.09.2005 21:39
помогите, плиз
нужен батник, чтобы при запуске пинговался сервер 213.248.66.170,
а то надоело постоянно прописывать ping 213.248.66.170 -t.
чувствую что это должно просто делаться, но как - не знаю, я в этом нюб
заранее спасибо
Автор: igor_andreev
Дата сообщения: 12.09.2005 23:30
WispAssassin

Цитата:
чувствую что это должно просто делаться, но как - не знаю, я в этом нюб

Нюб-не ньюб, ping /? - там вроде все просто написано. Тебе что конкретно то надо от батника, есть пинг - одно действие, нет пинга - другое? Или что?

Windows "Monad" Shell Beta 2 кстати попробовал кто уже?
http://www.microsoft.com/downloads/details.aspx?familyid=2ac59b30-5a44-4782-b0b7-79fe2efd1280&displaylang=en

_http://download.microsoft.com/download/7/4/6/746ec8ff-c4eb-41f3-884e-981bf39997b7/monad_b2_50215_x86.zip (1.3 Mb)
для работы нужен NET Framework 2.0 Beta 2
_http://download.microsoft.com/download/2/3/c/23c4dddd-e32c-45de-9fcc-e6e906e2b429/dotnetfx.exe (22989 Kb)
Автор: GAAlex
Дата сообщения: 13.09.2005 04:14
igor_andreev
KapralBel
Работает спасибо. Но почему имя каталога нельзя передавать как параметр?
Автор: igor_andreev
Дата сообщения: 13.09.2005 08:28

Цитата:
Но почему имя каталога нельзя передавать как параметр?

а %%~nA - это и есть имя каталога
Автор: KapralBel
Дата сообщения: 13.09.2005 10:35
igor_andreev


Цитата:
Windows "Monad" Shell Beta 2

Это то, что раньше называлось Windows Command Shell?


Цитата:
проверяю обычно, заключая комстроку в ECHO[комстрока]>>file.txt. Даже за неимением pkzipc.exe стартую TEST.CMD

По моему все так делают - я имел в виду, что если передается параметр (например путь c:\!!\Test\) то некоторые программы требуют слэш на конце, а другие требуют его отсутствие, 3-м по барабану есть слэш в конце пути или нет.
Автор: WispAssassin
Дата сообщения: 13.09.2005 14:33

Цитата:
Тебе что конкретно то надо от батника, есть пинг - одно действие, нет пинга - другое? Или что?

сейчас я делаю вот как:
winkey+r, cmd, потом прописываю ping 213.248.66.170 -t и начинает пинговать этот сервер, а хочу сделать так, чтобы не проделывать все это, а просто запустить батник и все сразу пинговалось
сделал совсем по тупому, создал txt, написал ping 213.248.66.170 -t и сохранил как bat - не прошло
в командной строке мелькает вот это до тех пор пока не остановишь
C:\>ping 213.248.66.170 -t

я думаю для этого не надо качать все это

Цитата:
Windows "Monad" Shell Beta 2 кстати попробовал кто уже?
http://www.microsoft.com/downloads/details.aspx?familyid=2ac59b30-5a44-4782-b0b7-79fe2efd1280&displaylang=en

_http://download.microsoft.com/download/7/4/6/746ec8ff-c4eb-41f3-884e-981bf39997b7/monad_b2_50215_x86.zip (1.3 Mb)
для работы нужен NET Framework 2.0 Beta 2
_http://download.microsoft.com/download/2/3/c/23c4dddd-e32c-45de-9fcc-e6e906e2b429/dotnetfx.exe (22989 Kb)

Автор: KapralBel
Дата сообщения: 13.09.2005 14:53
WispAssassin

Приведи содержимое батника

Если содержание такое

Код:
@Echo Off
ping 213.248.66.170 -t
Автор: WispAssassin
Дата сообщения: 13.09.2005 21:13
KapralBel
прописал это
@Echo Off
ping 213.248.66.170 -t
не работает, висит в процессах cmd.exe и все, больше ничего не происходит.
НО все-таки решил проблему
все оказалось не просто, а очень просто - создал ярлык
%windir%\System32\ping.exe 213.248.66.170 -t
и все заработало как я и хотел и ничего качать не пришлось
Автор: Smitis
Дата сообщения: 13.09.2005 22:00
WispAssassin

Цитата:
и ничего качать не пришлось

Судя по контексту, качать MSH не относилось к твоему вопросу. Так что ты зря переживал.

Цитата:
не работает, висит в процессах cmd.exe и все, больше ничего не происходит.
НО все-таки решил проблему

Что-то неправильное у тебя с командным процессором. Должно работать! Либо (скорее всего) ты что-то не так делаешь.

Кстати, занятная вещь, этот msh. Вот только руки не доходят поюзать его поактивнее.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

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


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