Форум программистов, компьютерный форум, киберфорум
Наши страницы
PowerShell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
NomadV
0 / 0 / 0
Регистрация: 14.04.2017
Сообщений: 1
#1

Переменные среды Windows в строке, считанной из файла

14.04.2017, 12:42. Просмотров 867. Ответов 2
Метки нет (Все метки)

Задача: есть текстовый файл, в котором записаны пути к файлам или папкам. Требуется, например, проверить, существуют ли они. Что-то типа такого:
PowerShell
1
Get-Content -Path "D:\Path.txt" | Test-Path
С полными путями проблем нет, но вот как записать пути с использованием переменных среды? Например, поместим в файл две строки:
c:\Users\nomad\AppData\Roaming\Microsoft\
$env:APPDATA\Microsoft\
И получим результат:
True
False
Потому что в отличие от
PowerShell
1
Test-Path "$env:APPDATA\Microsoft"
строка, считанная из файла воспринимается буквально. Можно конечно парсить строки на предмет поиска в них переменных среды и замены их на значения этих переменных, но может быть есть какой-то более изящный путь?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2017, 12:42
Ответы с готовыми решениями:

Переменные среды (Path)
Есть программа, которая находиться в папке C:\Program Files\bin\programm.exe....

Проверить наличие символа в строке, считанной из файла
Доброго времени суток Уважаемые форумчане! сразу скажу, что по форуму искал,...

Переменные среды в командной строке
Переменные среды Автор: specialist, Вадим Стеркин aka Vadikan Источник ...

Подсчитать количество повторений подстроки в строке, считанной с файла
на TASM. Облазил весь форум, но найти не могу. Добавлено через 1 час 18...

Переменные среды Windows
Приветствую Уважаемые форумчане! Есть у меня функция для извлечения из...

2
dirigar
10 / 10 / 1
Регистрация: 05.07.2015
Сообщений: 33
14.04.2017, 15:13 #2
вот такой костыль может помочь
PowerShell
1
gc d:\path.txt | % { iex -Command """$_""" } | where { Test-Path $_ }
0
diadiavova
3666 / 1254 / 397
Регистрация: 11.04.2015
Сообщений: 2,353
Записей в блоге: 35
15.04.2017, 10:40 #3
Лучший ответ Сообщение было отмечено NomadV как решение

Решение

PowerShell
1
2
$p = "%appdata%\microsoft"
[Environment]::ExpandEnvironmentVariables($p) | Write-Host
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2017, 10:40

Переменные среды windows
Я только начинаю изучать, для меня все очень сложно. Есть такой код #include...

Переменные среды Windows
Как в c++ использовать переменные среды windows? Например я хочу открыть...

Переменные среды Windows
Доброго времени всем! Так и не врубился, как заставить код понимать переменные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru