Показать полную графическую версию : Создание папки в зависимости от версии ОС
Добрый день!
Требуется создавать папки в зависимости от версии и разрядности ОС и скопировать в них некоторые файлы, например
для 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\
Возможно ли это реализовать в одном скрипте? Может как-то переменную среду получать?
$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
У меня такой путь:
$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
Так:
$P = "$env:appdata\adobe"
или так:
$P = $env:appdata + "\adobe"
vasiliy01, я поднял глаза чуть выше, и…
$allusers = "$env:ALLUSERSPROFILE\New1\New2"
$x86 = ${env:ProgramFiles(x86)\New3}
$x64 = "$env:ProgramFiles\New3" »
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.