Как получить имя папки, которое отличается во всех профилях пользователей - PullRequest
0 голосов
/ 21 ноября 2018

Мне нравится знать, как заставить 5J91Q4CX.C10 использовать в переменной.

C:\Users\user\AppData\Local\Apps\2.0\5J91Q4CX.C10

Во всех профилях пользователей эта папка имеет другое имя.Это всегда 8 цифр и цифр, затем ., а затем 3 цифры или цифры.

Мне нужно использовать это для скрипта powershell.

Любая идея, как создать переменную дляэто foldername?Спасибо

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

не уверен, что вы на самом деле пытаетесь сделать ... вы можете выполнить поиск в каталоге через C: \ Users, чтобы отчитаться по всем подпапкам, а затем цикл Foreach, чтобы просмотреть каждую подпапку и создать нужный файл впункт назначения и т. д., что-то вроде:

$FOLDERS = Get-ChildItem C:\Users -Directory

FOREACH ($FOLDER in $FOLDERS) {
#WHATEVER YOU WANT TO DO
}
0 голосов
/ 21 ноября 2018

Я бы сделал что-то вроде этого:

#Loop through all user profile folders using something like this:
$userFolders = Get-ChildItem -Path "C:\Users\" -Directory -Force -ErrorAction SilentlyContinue | 
                Where-Object { @('All Users','Default User', 'Public', 'Default') -notcontains $_.Name } |
                Select-Object -ExpandProperty Name

# next loop through these folders to find the foldername that can be different for each user
foreach ($userName in $userFolders) {
    $folderName = Get-ChildItem -Path "C:\Users\$userName\AppData\Local\Apps\2.0" -Directory -Force -ErrorAction SilentlyContinue | 
                    Where-Object { $_.Name -match '[A-Za-z0-9]{8}\.[A-Za-z0-9]{3}' } |
                    Select-Object -ExpandProperty Name
    # do something with this variable
   Write-Host "C:\Users\$userName\AppData\Local\Apps\2.0\$folderName"
}
0 голосов
/ 21 ноября 2018

Некоторые RegEx могут сделать трюк:

$str = "C:\Users\user\AppData\Local\Apps\2.0\5J91Q4CX.C10"
$str -match '.*\\(.*)$'

$matches[1] # 5J91Q4CX.C10

.*\\(.*)$ соответствует всем символам после последней черты \ и до конца строки $

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...