Я пытаюсь собрать пакетный файл, который копирует несколько файлов и запускает файл excel. Исходный пакетный файл, который у меня был, отлично работает, но я изменил его, чтобы попытаться определить, является ли операционная система 32-разрядной или 64-разрядной, и соответствующим образом ссылаться на соответствующую папку.Вложенный оператор IF в пакетном файле
шаги должны быть следующими:
Определить, если операционная система имеет папку "Program Files (x86)". Если это так, то операционная система должна быть 64-битной. Если это не так, переходите к шагу 5.
Если у него есть папка «Program Files (x86)», а затем посмотрите, есть ли файл «installed.txt» в папке «c: \ Program files» (x86) \ Auto-BF \ "
Если файла нет, выполните следующие действия.
а) создать "Auto-BF" Папка в "% USERPROFILE% \ MarketFeeder Pro 7 \ Profiles \" б) скопировать 2 файла из "C: файлы \ Program (x86) \ Auto-BF" в эту недавно созданную папку «Auto-BF», используя пару команд xcopy: xcopy «c: \ Program Files (x86) \ Auto-BF \ settings.ini» «% userprofile% \ MarketFeeder Pro 7 \ profiles \ Auto -BF "/ h/q/r/y xcopy" c: \ Program Files (x86) \ Auto-BF \ customcells.xml ""% userprofile% \ MarketFeeder Pro 7 \ profiles \ Auto-BF "/ h/q/r/y c) Теперь создайте файл «installed.txt» и поместите его в папку «« C: \ Program Files (x86) \ Auto-BF », чтобы подтвердить, что папка создана и файлы были скопировано. d) теперь запустите exce l «abf.xlsx» из папки «C: \ Program Files (x86) \ Auto-BF», а затем выйдите из командного файла.
- Если уже есть файл "installed.txt" в "C: \ Program Files (x86) \ Auto-BF" папку, а затем просто запустить электронную таблицу первенствовать в той же папке "abf.xlsx"
(для 32-битных систем, когда "Program Files (x86)" не существует) 5. Проверьте, есть ли файл "installed.txt" в «C: \ Program Files \ Auto-BF \ "
- Если файла нет, выполните следующие действия.
а) создать "Auto-BF" Папку в "% USERPROFILE% \ MarketFeeder Pro 7 \ Profiles \" б) скопировать 2 файл из "C: файлы \ программа \ Auto-BF" в этом вновь созданный «Auto-BF», используя пару команд xcopy: xcopy «c: \ Program Files \ Auto-BF \ settings.ini» «% userprofile% \ MarketFeeder Pro 7 \ profiles \ Auto-BF"/h/q/r/y xcopy "c: \ Program Files \ Auto-BF \ customcells.xml" "% userprofile% \ MarketFeeder Pro 7 \ profiles \ Auto-BF"/h/q/r/y c) Теперь создайте «installed.txt» и поместите его в папку «C: \ Program Files \ Auto-BF», чтобы подтвердить, что папка была создана, и файлы были скопированы. d) теперь запустите таблицу Excel «abf. xlsx "из" C: \ Program Files \ Auto -BF ", а затем выйти из командного файла.
- Если уже есть файл "installed.txt" в "C: Files \ Program \ Auto-BF" папку, а затем просто запустить электронную таблицу первенствовать в той же папке «ABF.XLSX»
Хорошо, я надеюсь, что было относительно просто следовать! :-)
Это пакетный файл я уже создан, но что-то не совсем правильно работает ....
@echo off
for /f "tokens=*" %%a in ('dir /b /s "%windir%\system32\xcopy.exe"') do set path=%path%;%%~dpa
IF EXIST "c:\Program Files (x86)\" (
cd "c:\Program Files (x86)\Auto-BF\"
IF EXIST "c:\Program Files (x86)\Auto-BF\installed.txt" START abf.xlsx
IF EXIST "c:\Program Files (x86)\Auto-BF\installed.txt" EXIT
) ELSE (
REM create Auto-BF Folder
cd %userprofile%\MarketFeeder Pro 7\profiles\
md Auto-BF
REM move files
xcopy "c:\Program Files (x86)\Auto-BF\settings.ini" "%userprofile%\MarketFeeder Pro 7\profiles\Auto-BF" /h /q /r /y
xcopy "c:\Program Files (x86)\Auto-BF\customcells.xml" "%userprofile%\MarketFeeder Pro 7\profiles\Auto-BF" /h /q /r /y
cd c:\Program Files (x86)\Auto-BF\
ECHO Auto-BF successfully installed >installed.txt
START abf.xlsx
EXIT)
IF EXIST "c:\Program Files (x86)\" (
cd "c:\Program Files\Auto-BF\"
IF EXIST "c:\Program Files\Auto-BF\installed.txt" START abf.xlsx
IF EXIST "c:\Program Files\Auto-BF\installed.txt" EXIT
) ELSE (
REM create Auto-BF Folder
cd %userprofile%\MarketFeeder Pro 7\profiles\
md Auto-BF
REM move files
xcopy "c:\Program Files\Auto-BF\settings.ini" "%userprofile%\MarketFeeder Pro 7\profiles\Auto-BF" /h /q /r /y
xcopy "c:\Program Files\Auto-BF\customcells.xml" "%userprofile%\MarketFeeder Pro 7\profiles\Auto-BF" /h /q /r /y
cd c:\Program Files\Auto-BF\
ECHO Auto-BF successfully installed >installed.txt
START abf.xlsx
EXIT)
, пожалуйста, проверьте свои '(' и ')'. Они не спарены, и логика выглядит довольно странно. – Stephan
только что отредактировал (отредактировал выше), но все еще не работает ... не уверен, что я делаю неправильно –
у вас есть один) ELSE ('to much. (Второй, я думаю) - это делает" IF - ELSE - ELSE ", что невозможно (в пакете). – Stephan