|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разное поведение SET при запуске из командной строки и из файла |
|
CMD/BAT - Разное поведение SET при запуске из командной строки и из файла
|
Новый участник Сообщения: 16 |
Приветствую! Помогите разобраться.
Сделал пакетный файл такого содержимого: Скрытый текст
cls @echo off rem Путь к архиватору set arc=%ProgramFiles%\7-Zip\7z.exe rem Путь к папке с исходными директориями set src=%ProgramFiles%\7-Zip\ rem Путь к папке, куда будут помещены выходные файлы set dest=H:\123 rem Расширение выходных файлов set ext=7z cd %src% for /D %%d in (*) do ( echo Compressing %%d.7z... if exist "%dest%\%%d.%ext%" del /Q /F "%dest%\%%d.%ext%" "%arc%" a -p111111 -mhe=on "%dest%\%%d.%ext%" "%src%\%%d" > NUL ) echo Done! pause При запуске самого BAT-файла из командной строки все отлично, но при запуске его же из проводника сообщает, что системе не удается найти указанный путь. Убрал @echo off, оказалось что в %ProgramFiles% как буд-то находится "C:\Program Files (x86)". Хотя в SET видно что в %ProgramFiles% находится "C:\Program Files", а "C:\Program Files (x86)" находится в %ProgramFiles(x86)%. В чем проблема? Объясните. |
|
Отправлено: 02:55, 09-05-2015 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата madeinussr:
, а при запуске в x86 среде будете иметь Проверить, в какой среде произведен запуск батника, можно посмотрев в диспетчере задач на процесс cmd.exe. Если после него идет суффикс *32 значит батник запущен в x86 среде (из 32-разрядного приложения). |
|
Отправлено: 04:56, 09-05-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата madeinussr:
|
|
Отправлено: 05:53, 09-05-2015 | #3 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Почему так происходит? Ведь в SET же указано, что в %ProgramFiles% находится "C:\Program Files", а в %ProgramFiles(x86)% находится "C:\Program Files (x86)" (ведь приложение выполняет операционная система а не файловый менеджер, служащий для навигации). Как из 32 разрядного приложения вызвать "C:\Program Files"? Только явно, через переменные среды не получится? Всех с праздником! |
|
Отправлено: 13:38, 09-05-2015 | #4 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата madeinussr:
|
||
Отправлено: 13:49, 09-05-2015 | #5 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата madeinussr:
При установке комбинированной версии (последняя – tcm851ax32_64.exe) ставятся и та и другая. В 64-битной среде имеет смысл пользоваться 64-битной версией, а 32-битную использовать лишь в особых случаях, когда без неё вам лично не обойтись: в ней существуют и некоторые другие ограничения, которые 64-битная Windows накладывает на 32-битные программы и на их окружение без ведома самих этих программ. |
|
------- Отправлено: 14:22, 09-05-2015 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата madeinussr:
WoW64 - Wikipedia, the free encyclopedia; File System Redirector (Windows) из раздела Running 32-bit Applications (Windows). |
|
Отправлено: 23:25, 09-05-2015 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - [решено] Запуск командной строки от имени Администратора из командной строки | emcee | Microsoft Windows 8 и 8.1 | 12 | 06-05-2023 07:36 | |
CMD/BAT - [решено] Запуск файла с помощью программы из командной строки | DemchaAV | Скриптовые языки администрирования Windows | 6 | 29-11-2015 12:11 | |
CMD/BAT - запуск командной строки от имени администратора из командной строки | jah | Скриптовые языки администрирования Windows | 18 | 19-09-2015 08:59 | |
Любой язык - Проблема при создании юзера из командной строки | BACbOK | Скриптовые языки администрирования Windows | 3 | 10-08-2012 23:07 | |
CMD/BAT - [решено] создание ярлыка, файла из командной строки? | super_bitard | Скриптовые языки администрирования Windows | 1 | 24-03-2011 07:42 |
|