• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

Alex1983

Разработчик
Сообщения
912
Симпатии
442
#1
Всем привет.
У меня просьба, кто сможет написать два батника?
1. Заносить в переменную окружения PATH значение от куда запущен бат файл.
2. Удаляет это значение.

Можно и на VBScript, JScript

Заранее благодарен.
 

Alex1983

Разработчик
Сообщения
912
Симпатии
442
#3
применил этот код
Код:
For /f "tokens=2*" %a In ('Reg query "HKCU\Environment" /v Path') Do Set "userpath=%b"
set newpath=%userpath%;C:\myfolder2
setx path "%newpath%"
но у меня нет значения C:\myfolder2
 

Alex1983

Разработчик
Сообщения
912
Симпатии
442
#5
Я имею виду, что в переменной path нет такого значения. Смотрю через консоль команда path
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,003
Симпатии
5,687
#6
и ты не уточнил это должно работать на всех системах? Просто цитирую из статьи
setx, входящей в состав Windows 7.
то есть на системах ниже может её не быть.
Правда тут есть ссылка на скачивание этой утилиты
SetX (setx.exe): Это средство командной строки обеспечивает метод пакета для переменных среды настройки пользователя или в среде системы. Средства нет программ или сценариев. Может потребоваться переменной среды и соответствующее значение из командной строки. Также можно получить значения разделов реестра и записывать их в текстовые файлы. Чтобы загрузить данное средство, щелкните следующую ссылку:
http://download.Microsoft.com/download/win2000platform/setx/1.00.0.1/NT5/en-US/setx_setup.exe
в cmd или из батника?
Учтите, что код выше рассчитан на выполнение в командной строке. В командном файле (CMD) символы процента в первой строке должны быть двойными.
 

Alex1983

Разработчик
Сообщения
912
Симпатии
442
#7
Попробовал в cmd. Работает, но в переменной PATH всё равно нет этой строки C:\myfolder

А как теперь можно удалить это значение.
не много надо поравить
это 1. Заносить в переменную окружения PATH значение от куда запущен бат файл.
на это 1. Заносить в переменную окружения PATH значение от куда запущен бат файл + \tools
 

Кирилл

Команда форума
Администратор
Сообщения
13,313
Симпатии
5,866
#8
Alex1983, или я не понял задачу или все не так сложно:
CMD/BATCH:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Chcp 866 >nul
title text title
cd /d "%~dp0"

set path=%cd%
echo %path%
pause
exit /B
 
Последнее редактирование:

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,003
Симпатии
5,687
#9
либо я не понял задачу. Alex1983, тебе надо, чтобы эта переменная была в батнике и была на время работы батника или добавить в систему, чтобы другие программы видели эту переменную окружения?
 

Alex1983

Разработчик
Сообщения
912
Симпатии
442
#10
Надо, что бы эта переменная была в системе.
Для чего это надо, с программой таскаю все длл но для работы они должны быть рядом с программой или систем32.
В систем32 свои длл копировать не охота(не каждому пользователю это понравится).
Вот я и хочу добавить в переменную path путь до папки где содержатся все мои длл

как занести Путь до батфайла или cmd\tools
 

Кирилл

Команда форума
Администратор
Сообщения
13,313
Симпатии
5,866
#11

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,003
Симпатии
5,687
#14
Alex1983, а вообще лучше .dll зашей в ресурсы, а одну 7z.dll можно и рядом оставить. Если программа вдруг будет некорректно завершена, то твоя запись в реестре остнется, так что портативной она не будет (это уже псевдопортабл) и многие пользователи такое не любят ;0.
Заносить в переменную окружения PATH значение от куда запущен бат файл + \tools
%cd% = путь к паке,откуда батник запущен.
Koza Nozdri, ты не точен. Ты заносишь в %cd% путь к этой папке, а сам путь к папке %~dp0 добавляем к нему \tools и получаем в %cd% путь откуда запущен бат файл + \tools
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,647
Симпатии
5,529
#17
Alex1983, ты загружаешь свою DLL с неявной компоновкой или через LoadLibrary ?
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,647
Симпатии
5,529
#19
Вот так не сработает?
C++:
#include "tools\mydll.h"
 

Alex1983

Разработчик
Сообщения
912
Симпатии
442
#20
Последнее редактирование модератором:
Сверху Снизу