Лучший отвечающий
PS - прочитать из файла переменные

Вопрос
-
Всем привет!
Помогите, пожалуйста, написать на PS такое:
есть файл c:\test.conf такого содержания:
DirToBackup="C:\Test" excl1="*.tmp" excl2="*.bak" excl3="*mov"
необходимо, чтобы скрипт прочитал этот файл и внутри себя сразу задал переменные:
$DirToBackup="C:\Test" $excl1="*.tmp" $excl2="*.bak" $excl3="*mov"
на cmd это делается так:
set file="c:\test.conf" for /f "eol=# delims== tokens=1,2" %%i in (%file%) do (set %%i=%%j)
а как это сделать на PS никак понять не могу!
Заранее благодарен всем откликнувшимся!
23 октября 2017 г. 14:59
Ответы
-
Import-Csv C:\test.conf -Delimiter "=" -Header Name,Value | Foreach {New-Variable $_.Name $_.Value}
- Помечено в качестве ответа Reanimator73 23 октября 2017 г. 15:21
23 октября 2017 г. 15:09Отвечающий -
«Чукча не читатель» (с)
PS C:\> Get-Content C:\test.conf DirToBackup="C:\Test" excl1="*.tmp" excl2="*.bak" excl3="*mov" PS C:\> Import-Csv C:\test.conf -Delimiter "=" -Header Name,Value Name Value ---- ----- DirToBackup C:\Test excl1 *.tmp excl2 *.bak excl3 *mov PS C:\> Import-Csv C:\test.conf -Delimiter "=" -Header Name,Value | Foreach {New-Variable $_.Name $_.Value -Verbose} VERBOSE: Performing the operation "New variable" on target "Name: DirToBackup Value: C:\Test". VERBOSE: Performing the operation "New variable" on target "Name: excl1 Value: *.tmp". VERBOSE: Performing the operation "New variable" on target "Name: excl2 Value: *.bak". VERBOSE: Performing the operation "New variable" on target "Name: excl3 Value: *mov". PS C:\> $DirToBackup C:\Test PS C:\> $excl1 *.tmp PS C:\> $excl2 *.bak PS C:\> $excl3 *mov
- Помечено в качестве ответа Reanimator73 23 октября 2017 г. 15:21
23 октября 2017 г. 15:18Отвечающий
Все ответы
-
Import-Csv C:\test.conf -Delimiter "=" -Header Name,Value | Foreach {New-Variable $_.Name $_.Value}
- Помечено в качестве ответа Reanimator73 23 октября 2017 г. 15:21
23 октября 2017 г. 15:09Отвечающий -
но это не CSV файл, у него нет полей с заголовками. Это просто текстовый файл23 октября 2017 г. 15:14
-
«Чукча не читатель» (с)
PS C:\> Get-Content C:\test.conf DirToBackup="C:\Test" excl1="*.tmp" excl2="*.bak" excl3="*mov" PS C:\> Import-Csv C:\test.conf -Delimiter "=" -Header Name,Value Name Value ---- ----- DirToBackup C:\Test excl1 *.tmp excl2 *.bak excl3 *mov PS C:\> Import-Csv C:\test.conf -Delimiter "=" -Header Name,Value | Foreach {New-Variable $_.Name $_.Value -Verbose} VERBOSE: Performing the operation "New variable" on target "Name: DirToBackup Value: C:\Test". VERBOSE: Performing the operation "New variable" on target "Name: excl1 Value: *.tmp". VERBOSE: Performing the operation "New variable" on target "Name: excl2 Value: *.bak". VERBOSE: Performing the operation "New variable" on target "Name: excl3 Value: *mov". PS C:\> $DirToBackup C:\Test PS C:\> $excl1 *.tmp PS C:\> $excl2 *.bak PS C:\> $excl3 *mov
- Помечено в качестве ответа Reanimator73 23 октября 2017 г. 15:21
23 октября 2017 г. 15:18Отвечающий