(РЕДАКТИРОВАТЬ: У моего другого поста есть рабочее решение. Я оставлю это здесь, на случай, если вы найдете его полезным.)
Я могу помочь вам в этом, но не во всем .
Если вы ссылаетесь на Chrome на Windows, он обычно сохраняет свои настройки в "C: \ Users \ [user] \ AppData \ Local \ Google \ Chrome \ User Data \ По умолчанию \ Preferences». Поэтому вы должны начать что-то вроде:
$prefs = Get-Content "C:\Users\[user]\AppData\Local\Google\Chrome\User Data\Default\Preferences"
(очевидно, замените «[user]» на имя вашей учетной записи.)
«Предпочтения» - это текстовый файл, состоящий из одного , giganti c строка данных, разделенных запятыми. Вот где он указывает мой каталог для скачивания, например:
,"download":{"default_directory":"C:\\Users\\Matt\\Desktop",
Ваш следующий шаг - сделать '$ prefs | Select-String [что-то ...] ', чтобы проанализировать этот файл для этой строки. Тем не менее, я не знаю, как сделать эту часть. Все дело в том, чтобы сказать это: «искать», «скачать»: «, затем вытащить все из запятой перед« загрузкой »до следующей запятой».
Получив это, вы можете разделить на двойные кавычки, чтобы изолировать путь к каталогу, а затем удалите двойные косые черты. Итак, если у вас есть указанная выше строка в переменной «$ download», это может быть что-то вроде:
$download = $download.Split('"')[5]
$download = $download.Replace('\\','\')
$download
Или вы можете сделать это в одной строке, например:
($download.Split('"')[5]).Replace('\\','\')
Кстати, будьте супер осторожны с цитатами по этому заданию! Поскольку Chrome широко использует двойные кавычки в этом файле настроек, обязательно всегда заключайте в одинарные кавычки вещи, иначе это не сработает.
Также, как примечание: в PowerShell текст в одинарных кавычках не является ' t анализируется, тогда как текст в двойных кавычках. Так что это еще одна причина, почему мы должны заключать вещи в одинарные кавычки: мы хотим, чтобы текст был простой строкой. Если бы строка содержала, скажем, «$ path», и мы заключили ее в двойные кавычки, она интерпретировала бы ее как существующую системную переменную «$ path» и попыталась бы что-то с ней сделать, что было бы ... нежелательно !