Где ошибка в скрипте для копирования папки в зависимости от разрядности ОС? Доброго времени!
Ситуация следующая: необходимо что бы скрипт, после его запуска, копировал определённую папку из сетевого пути на компьютер где он был запущен.
Копирование должно происходить в разные каталоги, в зависимости от разрядности ОС.
С написание скриптов не так часто сталкивался, по этому и возник вопрос. Накидал свой вариант, но он к сожалению не работает. Скрипт можно использовать как BAT так и VBS, главное, что бы суть копирования была неизменна.@echo on
set old_dir="\\ws-it-18\etc\LibreOffice\extensions\"
set x64="C:\Program Files (x86)\LibreOffice 5\share\extensions\"
set x86="C:\Program Files\LibreOffice 5\share\extensions\"
set "osX=%PROCESSOR_ARCHITECTURE%"
if defined PROCESSOR_ARCHITEW6432 set "osX=AMD64"
if "%osX%"=="x86" (
xcopy %old_dir% %x86%
) else (
xcopy %old_dir% %x64%
)
exit /b
Заранее спасибо за помощь!

21 Авг 2019 в 06:51
261 +1
0
Ответы
1

Ошибка в скрипте заключается в том, что переменные %old_dir%, %x86% и %x64% не должны быть заключены в % при использовании в команде xcopy. Вместо этого, их следует заключить в кавычки "".

Исправленный вариант скрипта выглядит следующим образом:

@echo on
set old_dir="\\ws-it-18\etc\LibreOffice\extensions\"
set x64="C:\Program Files (x86)\LibreOffice 5\share\extensions\"
set x86="C:\Program Files\LibreOffice 5\share\extensions\"
set "osX=%PROCESSOR_ARCHITECTURE%"
if defined PROCESSOR_ARCHITEW6432 set "osX=AMD64"
if "%osX%"=="x86" (
xcopy %old_dir% "%x86%"
) else (
xcopy %old_dir% "%x64%"
)
exit /b

Теперь скрипт должен успешно копировать папку в зависимости от разрядности ОС.

20 Апр 2024 в 13:12
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир