J'essaie de compresser tous les fichiers d'un répertoire mais je n'arrive pas à le faire utiliser le répertoire ou l'ancien nom de fichier. Il doit supprimer l'ancien fichier afin qu'il soit protégé dans le fichier zip.
Voici ce que je suis arrivé jusqu'à présent:
$files = Get-ChildItem "D:\Backuptest\input\*" |
ForEach ($filename in $files) {
$content = Get-Content $_.FullName
& "C:\Program Files\WinRAR\Rar.exe" a -m0 -hps8Cs7y7RfLjYgYb -k -df $filename.rar
}
powershell
winrar
Erik Venema
la source
la source
Réponses:
Avec Powershell et la syntaxe ci-dessous, je ....
cela le rend donc un peu plus explicite qu'il ne l'était avant de dire où les fichiers seront placés avant de les supprimer (sans plus
/System32
, etc.).Cette méthode utilise ForEach (méthode) pour obtenir le fichier nom de fichier objet par fichier dans le répertoire source, puis un par un, il crée un nouveau fichier crypté avec le même nom de fichier que le fichier [source] non crypté. ajoutez le .rar à la fin de celui-ci. ( Par exemple,
test123.txt
seratest123.txt.rar
crypté et ensuitetest123.txt
supprimé. )Je pense que votre problème était soit (1.) que la syntaxe des commandes rar n'était pas correcte, soit (2.) ne pas avoir la destination dans les commandes rar pour l'emplacement de sortie et que cela s'exécutait implicitement à partir de ce répertoire et produisait simplement la sortie.
Script Powershell
Ressources supplémentaires
la source