Войти

Показать полную графическую версию : Создание папки в зависимости от версии ОС


Pavelnt
02-12-2011, 10:50
Добрый день!
Требуется создавать папки в зависимости от версии и разрядности ОС и скопировать в них некоторые файлы, например
для Windows 7 x64:
c:\ProgramData\New1\New2\
c:\Program Files (x86)\New3\
для Windows 7 x86:
c:\ProgramData\New1\New2\
c:\Program Files\New3\
для Windows XP x86:
c:\Documents and Settings\All Users\Application Data\New1\New2
c:\Program Files\New3\

Возможно ли это реализовать в одном скрипте? Может как-то переменную среду получать?

Kazun
02-12-2011, 13:03
$allusers = "$env:ALLUSERSPROFILE\New1\New2"
$x86 = ${env:ProgramFiles(x86)\New3}
$x64 = "$env:ProgramFiles\New3"

Function Test-CorrectPath
{
process
{
if (!(Test-Path $_))
{
md $_
}
}
}

$arch = Get-WmiObject Win32_Processor | Select-Object -Exp AddressWidth

switch($arch)
{
64 {$allusers,$x86 | Test-CorrectPath;break}
32 {$allusers,$x64 | Test-CorrectPath;break}
}

vasiliy01
05-11-2012, 20:15
Вопрос немного не по данной проблеме


каким образом переменной задать следующий путь

$P = $env:appdata\abobe\

нужен доступ к папке находящейся в %appdata%

папка имеется, но данный путь не удаётся внести в переменную
PS C:\> test-path $env:appdata\adobe
True

Iska
05-11-2012, 22:28
У меня такой путь:
$P = $env:appdata\abobe\ »
тоже не находит ;).

vasiliy01
05-11-2012, 22:49
ну это чисто тут синтаксическая ошибка

всё верно
PS C:\> test-path $env:appdata\adobe
True
тоже нормально
PS C:\> $p = $env:appdata
а вот так ошибка
PS C:\> $P = $env:appdata\adobe\
Неожиданный токен "\adobe\" в выражении или инструкции.
строка:1 знак:25
+ $P = $env:appdata\adobe\ <<<<
+ CategoryInfo : ParserError: (\adobe\:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken

Iska
05-11-2012, 23:08
Так:
$P = "$env:appdata\adobe"
или так:
$P = $env:appdata + "\adobe"

Iska
06-11-2012, 00:19
vasiliy01, я поднял глаза чуть выше, и…
$allusers = "$env:ALLUSERSPROFILE\New1\New2"
$x86 = ${env:ProgramFiles(x86)\New3}
$x64 = "$env:ProgramFiles\New3" »




© OSzone.net 2001-2012