Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Убрать/Заменить с батника %~dp0

Ответить
Настройки темы
CMD/BAT - [решено] Убрать/Заменить с батника %~dp0

Аватара для Гена829999

Пользователь


Сообщения: 62
Благодарности: 2

Профиль | Отправить PM | Цитировать


Здравствуйте!
Есть батник, который выдает в текстовом файле ид установки Office
Но проблема в том что, он работает только при запуске на рабочем столе Windows
В другой любой папке он не работает
Подозреваю строку %~dp0 в начале выводимого/создаваемого txt файла %~dp0IID.txt
Что надо еще добавить или убрать, чтоб батник работал в любой другой папке как и на рабочем столе?
Если есть возможность убрать или заменить строку %~dp0, было бы еще лучше!
Батник
@echo off
for /d %%a in (4,5,6) do call :path "%%a"
start %~dp0IID.txt
timeout 2 >nul
del /f %~dp0IID.txt
exit

:path
if exist "C:\Program Files\Microsoft Office\Office1%~1\ospp.vbs" (
cd /d "C:\Program Files\Microsoft Office\Office1%~1" & call :getIID "%~1")
if exist "C:\Program Files (x86)\Microsoft Office\Office1%~1\ospp.vbs" (
cd /d "C:\Program Files (x86)\Microsoft Office\Office1%~1" & call :getIID "%~1")
exit /b

:getIID
for /f "tokens=4-8 delims=:, " %%b in ('cscript //nologo ospp.vbs /dinstID ^| findstr /i "Installation ID"') do (
set ID=%%f
if %~1 EQU 4 (
set ID1=!ID:~0,6!& set ID2=!ID:~6,6!& set ID3=!ID:~12,6!& set ID4=!ID:~18,6!& set ID5=!ID:~24,6!& set ID6=!ID:~30,6!& set ID7=!ID:~36,6!& set ID8=!ID:~42,6!& set ID9=!ID:~48,6!
(echo %%b %%c, %%d & echo.Installation ID: !ID1!-!ID2!-!ID3!-!ID4!-!ID5!-!ID6!-!ID7!-!ID8!-!ID9!&echo.) >>%~dp0IID.txt) else (
set ID1=!ID:~0,7!& set ID2=!ID:~7,7!& set ID3=!ID:~14,7!& set ID4=!ID:~21,7!& set ID5=!ID:~28,7!& set ID6=!ID:~35,7!& set ID7=!ID:~42,7!& set ID8=!ID:~49,7!& set ID9=!ID:~56,7!
(echo %%b %%c, %%d & echo.Installation ID: !ID1!-!ID2!-!ID3!-!ID4!-!ID5!-!ID6!-!ID7!-!ID8!-!ID9!&echo.) >>%~dp0IID.txt)
)
exit /b

Отправлено: 17:20, 25-09-2021

 

Аватара для Гена829999

Пользователь


Сообщения: 62
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
нужен »
Нужен конечно!
Было изначально в оригинале, но и с ним не работал в любой папке любого диска
Работал только на рабочем столе
Только после Ваших поправок заработало независимо от местоположения
Видимо проблема в путях папок-в пробелах в пути к ним
Пытался без %~dp0 как и в других батниках,но никак не получалось
С %~dp0 впервые сталкиваюсь

Отправлено: 21:31, 25-09-2021 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Гена829999:
С %~dp0 впервые сталкиваюсь »
Код: Выделить весь код
call /?

Отправлено: 22:54, 25-09-2021 | #12


Аватара для Гена829999

Пользователь


Сообщения: 62
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
call /? »
Выходит вместо qoto можно и call написать!?
Пример:
ver | find /i "6.1"
if %ERRORLEVEL%==0 call Windows7IID

Отправлено: 23:33, 25-09-2021 | #13


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Можно.
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

ver | find.exe /i "6.1" && call :Windows7IID

endlocal
exit /b 0

:Windows7IID
	rem Some code
	rem Some code
	rem Some code
	
	exit /b

Отправлено: 05:36, 26-09-2021 | #14


Аватара для Гена829999

Пользователь


Сообщения: 62
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
Можно »
Тоже рабочий вариант!

Отправлено: 20:12, 26-09-2021 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Убрать/Заменить с батника %~dp0

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] аналог %~dp0 из bat для vbs NLOLegion Скриптовые языки администрирования Windows 13 05-01-2020 07:56
CMD/BAT - [решено] %~dp0 без слэша Peutrov Скриптовые языки администрирования Windows 4 25-10-2019 16:57
CMD/BAT - [решено] Последний символ при раскрытии %~dp0 Emulty Скриптовые языки администрирования Windows 4 24-07-2011 14:35
CMD/BAT - [решено] Убрать строчки с pause из батника game_Racer Скриптовые языки администрирования Windows 3 18-06-2011 16:27
[решено] Проблема с %~dp0 Stalingrad Автоматическая установка приложений 2 30-10-2007 12:02




 
Переход