Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Создание папки в зависимости от версии ОС (http://forum.oszone.net/showthread.php?t=221996)

Pavelnt 02-12-2011 10:50 1807847

Создание папки в зависимости от версии ОС
 
Добрый день!
Требуется создавать папки в зависимости от версии и разрядности ОС и скопировать в них некоторые файлы, например
для 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 1807929

Код:

$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 2019482

Вопрос немного не по данной проблеме


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

$P = $env:appdata\abobe\

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

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

Iska 05-11-2012 22:28 2019567

У меня такой путь:
Цитата:

Цитата vasiliy01
Код:

$P = $env:appdata\abobe\
»

тоже не находит ;).

vasiliy01 05-11-2012 22:49 2019588

ну это чисто тут синтаксическая ошибка

всё верно
Код:

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 2019605

Так:
Код:

$P = "$env:appdata\adobe"
или так:
Код:

$P = $env:appdata + "\adobe"

Iska 06-11-2012 00:19 2019665

vasiliy01, я поднял глаза чуть выше, и…
Цитата:

Цитата Kazun
Код:

$allusers = "$env:ALLUSERSPROFILE\New1\New2"
$x86 = ${env:ProgramFiles(x86)\New3}
$x64 = "$env:ProgramFiles\New3"

»



Время: 22:05.

Время: 22:05.
© OSzone.net 2001-