Échec du script PowerShell lors de la commande "Copy-Item"
Je suis novice en Powershell. J'ai écrit un script .ps1 pour faire un certain nombre de choses, qui s'exécutent toutes parfaitement, sauf lorsqu'il s'agit d'une commande "Copy-Item" que j'utilise pour copier le contenu du bureau (Windows 10) un autre dossier.
Il échoue au trait d'union dans "Copy-Item". J'ai le sentiment que je manque un "*" dans l'un des chemins. ou en avoir un là où il ne devrait pas être. Je l'ai essayé avec différentes combinaisons, mais pas de joie.
À des fins de test, j'ai 3 éléments sur le bureau: 1) un raccourci de dossier, 2) un raccourci de script Powershell et 3) Un «dossier» GodMode.
Merci d'avance pour votre aide. Voici un sous-ensemble du code:
$env:path += ";D:\PowershellScriptsFolder" # this is the location of my ps1 # (a bunch of code here, all of which runs fine) # # Desktop # Define Variables $DestinationPath = "D:\folder1\subfolder\*"
$SourcePathRoot = 'C:\Users\Sfrn\Desktop\' # this is the location of my Win 10 desktop # Remove-Item -Recurse -Path $DestinationPath -Force
(*** Voici où ça échoue: ***)
Copy-Item -Recurse -Path $SourcePathRoot -Destination $DestinationPath -Force # this is line 32
(*** Voici la sortie d'erreur - le caractère 5 est le trait d'union dans "Copy-Item": ***)
Copy-Item: Caractères illégaux dans le chemin. À D: \ Dropbox \ DB_AppData \ PowerShell_and_Bat \ CopyToBackup_2.ps1: 32 char: 5
-
Copy-Item -Recurse -Path $SourcePathRoot -Destination $Destinatio ... -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- CategoryInfo: InvalidArgument: (D: \ Dropbox \ DB_AppData \ Desktop *: String) [Copy-Item], ArgumentException
- FullyQualifiedErrorId: CreateDirectoryArgumentError, Microsoft.PowerShell.Commands.CopyItemCommand
Copy-Item: Caractères illégaux dans le chemin. À D: \ Dropbox \ DB_AppData \ PowerShell_and_Bat \ CopyToBackup_2.ps1: 32 char: 5
-
Copy-Item -Recurse -Path $SourcePathRoot -Destination $Destinatio ... -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- CategoryInfo: InvalidArgument: (desktop.ini: FileInfo) [Copy-Item], ArgumentException
- FullyQualifiedErrorId: CopyDirectoryInfoItemArgumentError, Microsoft.PowerShell.Commands.CopyItemCommand
Copy-Item: Caractères illégaux dans le chemin. À D: \ Dropbox \ DB_AppData \ PowerShell_and_Bat \ CopyToBackup_2.ps1: 32 char: 5
-
Copy-Item -Recurse -Path $SourcePathRoot -Destination $Destinatio ... -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- CategoryInfo: InvalidArgument: (Dropbox.lnk: FileInfo) [Copy-Item], ArgumentException
- FullyQualifiedErrorId: CopyDirectoryInfoItemArgumentError, Microsoft.PowerShell.Commands.CopyItemCommand
Copy-Item: Caractères illégaux dans le chemin. À D: \ Dropbox \ DB_AppData \ PowerShell_and_Bat \ CopyToBackup_2.ps1: 32 char: 5
-
Copy-Item -Recurse -Path $SourcePathRoot -Destination $Destinatio ... -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- CategoryInfo: InvalidArgument: (OpenApps.lnk: FileInfo) [Copy-Item], ArgumentException
- FullyQualifiedErrorId: CopyDirectoryInfoItemArgumentError, Microsoft.PowerShell.Commands.CopyItemCommand
Copy-Item: Caractères illégaux dans le chemin. À D: \ Dropbox \ DB_AppData \ PowerShell_and_Bat \ CopyToBackup_2.ps1: 32 char: 5
-
Copy-Item -Recurse -Path $SourcePathRoot -Destination $Destinatio ... -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- CategoryInfo: InvalidArgument: (D: \ Dropbox \ DB_AppData \ Desktop *: String) [Copy-Item], ArgumentException
- FullyQualifiedErrorId: CreateDirectoryArgumentError, Microsoft.PowerShell.Commands.CopyItemCommand
(*** Fin de la sortie d'erreur: ***)
(un tas de code continue de fonctionner ici, tout va bien)
FIN
Réponses
Vous avez un astérisque au mauvais endroit. Il doit être dans le chemin du répertoire source, pas dans la destination, comme ceci:
$SourcePathRoot = "C:\Users\Sfrn\Desktop\*" $DestinationPath = "D:\folder1\subfolder\"