Alex1983

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

Можно и на VBScript, JScript

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

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,331
Реакции
5,911
Баллы
998

Alex1983

Разработчик
Сообщения
914
Реакции
443
Баллы
488
применил этот код
Код:
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

Разработчик
Сообщения
914
Реакции
443
Баллы
488
Я имею виду, что в переменной path нет такого значения. Смотрю через консоль команда path
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,331
Реакции
5,911
Баллы
998
и ты не уточнил это должно работать на всех системах? Просто цитирую из статьи
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

Разработчик
Сообщения
914
Реакции
443
Баллы
488
Попробовал в cmd. Работает, но в переменной PATH всё равно нет этой строки C:\myfolder

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

Кирилл

Команда форума
Администратор
Сообщения
13,691
Реакции
6,082
Баллы
913
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,331
Реакции
5,911
Баллы
998
либо я не понял задачу. Alex1983, тебе надо, чтобы эта переменная была в батнике и была на время работы батника или добавить в систему, чтобы другие программы видели эту переменную окружения?
 

Alex1983

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

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

Кирилл

Команда форума
Администратор
Сообщения
13,691
Реакции
6,082
Баллы
913

regist

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

Кирилл

Команда форума
Администратор
Сообщения
13,691
Реакции
6,082
Баллы
913
Стас придет всем нос утрет)
Alex1983, работает скрипт то?
 

Dragokas

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

Dragokas

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

Alex1983

Разработчик
Сообщения
914
Реакции
443
Баллы
488
Последнее редактирование модератором:
Сверху Снизу