Question
Bug script FTP Upload
- jordan49
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
J'utilise le script FTP Upload disponnible dans la bibliothèque de scripts, pour rappel voici le script légerement modifié à la fin de ma part pour compresser avec la date du jour :
[code:1]
###############################################################
#
# Compress-ToZip.ps1
# Description : Compresse des fichiers ou des dossiers
#
# www.powershell-scripting.com/
# La communauté PowerShell francophone
#
# Usage : gci *.html | Compress-ToZip C:\Temp\ArchiveHTML.zip
#
###############################################################
function Compress-ToZip
{
param([string]$zipfilename)
if(-not (test-path($zipfilename)))
{
set-content $zipfilename (\"PK\" + [char]5 + [char]6 + (\"$([char]0)\" * 18))
(Get-ChildItem $zipfilename).IsReadOnly = $false
}
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
foreach($file in $input)
{
$zipPackage.CopyHere($file.FullName)
Start-sleep -milliseconds 500
}
}
#Compression au format Zip de la Base de donnees;
$date=get-date -f \"dd-MM-yy\"
get-childitem c:\*.pst | Compress-ToZip c:\Backup_du_$date.zip
[/code:1]
Je me suis rendu compte que lorsque j'avais un fichier commencant par la lettre \"a\", le script compresse uniquement ces fichiers là et crée un fichier temporaire sans extension (avec un nom aléatoire) d'une taille correspondante à mes autres fichiers pst.
Lorsque je renomme le fichier commencant par \"a\" (exemple fichier aco.pst renommé en bco.pst) le script fonctionne bien, tout est compressé sans problème. Dès qu'il y a un fichier avec la lettre \"a\" le script fonctionne mal, quelqu'un peut-il m'aider ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
je viens de tester avec PS v2 sous XP Sp3, je ne rencontre pas de pb ( 2 fichiers a.pst et b.pst de 5 caractères et un répertoire Test.pst)
Sinon Get-ChilItem renvoi aussi les répertoires.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jordan49
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
Le script fonctionne bien lorsque je le lance depuis Powershell ISE mais j'ai le bug lorsque je le lance via le planificateur des tâches ou bien en faisant clique droit dessus puis \"Run with powershell\". Le bu est systématique sauf sous l'ISE, je ne vois pas vraiment d'ou cela peut venir
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Si cela ne régle rien, concernant ce point :
jordan49 écrit:
il faut vérifier, à l'aide d'une trace dans un fichier, quelles données la fonction reçoit.Je me suis rendu compte que lorsque j'avais un fichier commencant par la lettre \"a\", le script compresse uniquement ces fichiers là et crée un fichier temporaire sans extension (avec un nom aléatoire) d'une taille correspondante à mes autres fichiers pst.
Sinon est-ce que le fichier est une archive valide ? Contient-il tous les fichiers a* ou seulement le premier listé ?
Cela peut provenir du composant COM, d'autres ont déjà eu des soucis avec, mais pas de ce type là.<br><br>Message édité par: Laurent Dardenne, à: 2/08/10 16:55
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jordan49
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
En mode ISE tout est bien compressé.
Si je fais \"Run with powershell\" sur le script j'ai de nouveau le soucis du fichier temporaire (je ne peux pas ouvrir ce fichier même en rajoutant l'extension \"zip\"), cependant, pour moi le plus important est que la tâche fonctionne avec le planificateur de taches.
Message édité par: jordan49, à: 2/08/10 16:49<br><br>Message édité par: jordan49, à: 2/08/10 16:50
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Celui-là me dit qq chosela compression s'arrête juste après un fichier assez gros (exemple j'ai un fichier de 150mo qui se nomme demo,
Si je me souviens bien ce composant COM est asynchrone, i.e. il ne bloque pas l'exécution de ton script.
Recherche sur le forum, je ne sais plus si une solution avait été proposée.
[edit]
Pour celui-ci \"Run with powershell\" PS doit vraisemblablement être éxécuté en mode standard (MTA).
Peut être faut-il ajouter une nouvelle entrée dans le menu contextuel en précisant \"Run with powershell STA\"...<br><br>Message édité par: Laurent Dardenne, à: 2/08/10 16:58
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Bug script FTP Upload