Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » Неправильный батник |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
uav1606, согласись, было бы странно в разделе _Старый_ софт спрашивать про WinXP... > А вот переименовывать каталоги командой ren нельзя А в FreeDOS можно! :-P И в оболочке DosBox'а тоже. |
ansi
Advanced Member
Откуда: Минск Всего сообщений: 1273 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 нояб. 2007 |
Просто я написал два батника, которые выполняют эту необходимую для меня задачу. А мне хотелось чтобы не выбирать батники, а они сами угадывали, что мне нужно делать. Эти батники и правда мне нужно выполнять из под WinXP, т. к. я на работе. Мои батники (работают): @echo off ren most most-1 обратно: @echo off ren most-1 most |
ansi
Advanced Member
Откуда: Минск Всего сообщений: 1273 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 нояб. 2007 |
Я что-то не припоминаю в какой версии DOS появилась команда MOVE, по-моему она была внутренней, точно помню что вроде в DOS 6 таковая существовала |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
dosX, > Я что-то не припоминаю в какой версии DOS появилась команда MOVE, Вроде бы в MS-DOS 5.0 её нету... Хотя могу ошибаться. > по-моему она была внутренней, Нет, внешней. > точно помню что вроде в DOS 6 таковая существовала Да, существовала. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 12 января 2009 15:23 Сообщение отредактировано: 12 января 2009 16:24
Вроде бы команда move существует начиная с MS-DOS 6.0. Командой ren каталоги нельзя переименовывать во всех версиях MS-DOS - т.е. от Microsoft. Насчёт if exist - извиняюсь, действительно, похоже, что в MS-DOS 6.22 так действительно можно проверить только существование файла, но не каталога. Т.е. нужно использовать Ваш, Oleg, способ. А в DOS'е из Windows XP можно и то, и то. Кстати, из-под чистого MS-DOS команда exit в пакетных файлах не работает. Т.е., скажем, из Volkov Commander или консоли Windows XP работает, а из чистого MS-DOS - нет. Нужно сделать в конце батника метку, скажем, :end и вместо exit писать goto end . |
UFO |
uav1606 написал: Работает, но не всегда. Кстати, из-под чистого MS-DOS команда exit в пакетных файлах не работает. В частности, поведение команды exit в пакетных файлах зависит от того, каким образом был запущен командный интерпретатор command.com. А именно (из справки, выдаваемой командой help exit): Using EXIT with the command interpreter When you use the MS-DOS COMMAND command to start a new instance of the command interpreter, you can use the EXIT command to return to the old command interpreter. Also, while running some programs, you can run the MS-DOS command interpreter and then use the EXIT command to return to your program. For more information about command interpreters, see the >COMMAND> command. If you are not using the /P (permanent) switch with the inital copy of COMMAND.COM, the EXIT command quits the command interpreter. You must then specify at the command prompt the location of the COMMAND.COM file to start the command interpreter again. Using exit when the command program is loaded as permanent If you start the COMMAND.COM program with the /P (permanent) switch, the EXIT command has no effect. И немного из описания COMMAND.COM: Starts a new instance of the MS-DOS command interpreter. A command interpreter is a program that lets you type commands. Use the EXIT command to stop the new command interpreter and return control to the old one. In your CONFIG.SYS file, use the following syntax: SHELL=[[dos-drive:]dos-path]COMMAND.COM [[drive:]path][device] [/E:nnnn] [/P [/MSG]] Switches /P Should be used only when COMMAND is used with the SHELL command in the CONFIG.SYS file. The /P switch makes the new copy of the command interpreter permanent. In this case, the EXIT command cannot be used to stop the command interpreter. If you specify /P, MS-DOS runs your AUTOEXEC.BAT file before displaying the command prompt. If there is no AUTOEXEC.BAT file in the root directory of the startup drive, MS-DOS carries out the DATE and TIME commands instead. If you do not have a SHELL command in your CONFIG.SYS file, COMMAND.COM is automatically loaded from the root directory with the /P switch. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
В общем, даже если запустить command.com без параметра /P, то хоть exit и будет работать, но не совсем так, как надо, т.к.: 1. Если command.com грузится через shell=command.com - т.е. без ключа /P, то не выполняется autoexec.bat 2. После команды exit в bat-файле выводится надпись The following file is missing or corrupted: A:\COMMAND.COM и происходит загрузка command.com стандартным образом, а потом автоматически запускается autoexec.bat 8-| Это по результатам экспериментов с MS-DOS из состава Win98. Так что лучше всё-таки избегать использования exit в bat-файлах. А по умолчанию command.com запускается как раз с ключём /P . |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Полигон-2 » Старый софт » Неправильный батник |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |