@sevafanasev

Где ошибка в скрипте для копирования папки в зависимости от разрядности ОС?

Доброго времени!

Ситуация следующая: необходимо что бы скрипт, после его запуска, копировал определённую папку из сетевого пути на компьютер где он был запущен.
Копирование должно происходить в разные каталоги, в зависимости от разрядности ОС.

С написание скриптов не так часто сталкивался, по этому и возник вопрос. Накидал свой вариант, но он к сожалению не работает. Скрипт можно использовать как 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


Заранее спасибо за помощь!
  • Вопрос задан
  • 406 просмотров
Решения вопроса 1
ifaustrue
@ifaustrue
Пишу интересное в теллеграмм канале @cooladmin
А что если так?
@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\"

IF %PROCESSOR_ARCHITECTURE% == x86 (
  IF %PROCESSOR_ARCHITEW6432% NOT DEFINED ( 
        xcopy %old_dir% %x86%
   ) else ( 
       xcopy %old_dir% %x64%
))
exit /b

С кавычками кажется напутал. Проверьте сами
Проверить не могу сижу на нокии 3111
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
у меня
IF %PROCESSOR_ARCHITECTURE% == AMD64 (
   echo AMD_64
   ) else ( 
   echo OTHER
))

успешно работает
Ответ написан
tonyslark
@tonyslark
junior system administrator
Если подойдет Powershell, то можно так
switch ((Get-WmiObject Win32_Processor).DataWidth)
{
64 {$DPath = "C:\Program Files (x86)\..."}
32 {$DPath = "C:\Program Files\..."}
}
вместо троеточия дальше ваши пути. Переменная DPath хранит полный ваш путь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы