powershell?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Um ein PowerShell-Skript zu erstellen, das den Schnellzugriff automatisch mit allen Ordnern im Arbeitsordner aktualisiert, könntest du Folgendes tun:

  1. Erstelle eine Funktion mit dem Namen
  2. Add-ToQuickAccess
  3. , die einen Ordnerpfad als Parameter entgegennimmt. In der Funktion verwende die oben gezeigte Syntax, um den Schnellzugriff mit dem angegebenen Ordner zu aktualisieren.
  4. In der Hauptroutine des Skripts, erstelle eine Schleife, die alle Ordner im Arbeitsordner durchläuft und die
  5. Add-ToQuickAccess
  6. -Funktion für jeden Ordner aufruft.
  7. Führe das Skript aus, um den Schnellzugriff mit allen Ordnern im Arbeitsordner zu aktualisieren.

Hier ist ein Beispiel für ein PowerShell-Skript, das diese Funktionalität implementiert:
function Add-ToQuickAccess($folderPath) {

  # Erstelle ein COM-Objekt für den Shell-Namespace

  $shell = new-object -com shell.application

   

  # Füge den angegebenen Ordner dem Schnellzugriff hinzu

  $shell.Namespace($folderPath).Self.InvokeVerb("pintohome")

}

# Pfad zum Arbeitsordner

$workFolder = "C:\My Folder"

# Durchlaufe alle Ordner im Arbeitsordner

foreach ($folder in (Get-ChildItem $workFolder -Directory)) {

  # Füge den Ordner dem Schnellzugriff hinzu

  Add-ToQuickAccess -folderPath $folder.FullName

}

Hoffe, das hilft.

botias 
Fragesteller
 22.03.2023, 16:41

Etwas spät... Dankeschön

0

Ich würde die Ordner über Get-ChildItem ansprechen und dann innerhalb einer ForEach-Schleife die gewünschten Operationen durchführen. Ich habe das Snippet nicht getestet, da mir gerade die Zeit dazu fehlt. Aber über die Interation mit einer ForEach-Schleife solltest du deinem gewünschten Ziel näher kommen.

$folders = "C:\MyFolders"
$folder = Get-ChildItem -Path $folders -Directory

foreach ($folder in $folders) {
  $o = new-object -com shell.application
  $o.Namespace($folder).Self.InvokeVerb("pintohome")
}

Du kannst alternativ eine function definieren, die du dann je nach Bedarf aufrufst.

# define function
function Run-AddFoldersToQuickAccess($source) {
  $source = $folders
  $folder = Get-ChildItem -Path $folders -Directory

  foreach ($folder in $folders) {
    $o = new-object -com shell.application
    $o.Namespace($folder).Self.InvokeVerb("pintohome")
  }
}

# use function
Run-AddFoldersToQuickAccess 'C:\MyFolder'

LG medmonk

Woher ich das weiß:Berufserfahrung – UI/UX Designer, Full-Stack Developer