Где ошибка в скрипте для копирования папки в зависимости от разрядности ОС? Доброго времени! Ситуация следующая: необходимо что бы скрипт, после его запуска, копировал определённую папку из сетевого пути на компьютер где он был запущен. Копирование должно происходить в разные каталоги, в зависимости от разрядности ОС. С написание скриптов не так часто сталкивался, по этому и возник вопрос. Накидал свой вариант, но он к сожалению не работает. Скрипт можно использовать как 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 Заранее спасибо за помощь!
Ошибка в скрипте заключается в том, что переменные %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
Теперь скрипт должен успешно копировать папку в зависимости от разрядности ОС.
Ошибка в скрипте заключается в том, что переменные %old_dir%, %x86% и %x64% не должны быть заключены в % при использовании в команде xcopy. Вместо этого, их следует заключить в кавычки "".
Исправленный вариант скрипта выглядит следующим образом:
@echo onset 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
Теперь скрипт должен успешно копировать папку в зависимости от разрядности ОС.