Question Bug script FTP Upload

Plus d'informations
il y a 15 ans 7 mois #7508 par jordan49
Bug script FTP Upload a été créé par jordan49
Bonjour,

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.

Plus d'informations
il y a 15 ans 7 mois #7509 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Bug script FTP Upload
Salut,
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.

Plus d'informations
il y a 15 ans 7 mois #7512 par jordan49
Réponse de jordan49 sur le sujet Re:Bug script FTP Upload
J'ai refait des tests aujourd'hui, je suis sous Windows 2003 R2 SP2 (toutes les MAJ ok normalement).

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 \&quot;Run with powershell\&quot;. Le bu est systématique sauf sous l'ISE, je ne vois pas vraiment d'ou cela peut venir :)<br><br>Message édité par: jordan49, à: 2/08/10 15:57

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 7 mois #7515 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Bug script FTP Upload
Essaie d'exécuter PowerShell en mode -STA.
Si cela ne régle rien, concernant ce point :
jordan49 écrit:

Je me suis rendu compte que lorsque j'avais un fichier commencant par la lettre \&quot;a\&quot;, 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.

il faut vérifier, à l'aide d'une trace dans un fichier, quelles données la fonction reçoit.
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.

Plus d'informations
il y a 15 ans 7 mois #7516 par jordan49
Réponse de jordan49 sur le sujet Re:Bug script FTP Upload
En mode STA ça fonctionne mieux (je n'ai plus le fichier \&quot;temporaire\&quot; avec le planificateur des tâches) mais j'ai une erreur bizarre, la compression s'arrête juste après un fichier assez gros (exemple j'ai un fichier de 150mo qui se nomme demo, si un fichier se nomme zxe il n'est pas compressé, en revanche tout les fichiers dont le nom commence par une lettre avant la lettre \&quot;d\&quot; sont bien compressé).

En mode ISE tout est bien compressé.

Si je fais \&quot;Run with powershell\&quot; 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 \&quot;zip\&quot;), 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.

Plus d'informations
il y a 15 ans 7 mois #7517 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Bug script FTP Upload
jordan49 écrit:

la compression s'arrête juste après un fichier assez gros (exemple j'ai un fichier de 150mo qui se nomme demo,

Celui-là me dit qq chose :)
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 \&quot;Run with powershell\&quot; 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 \&quot;Run with powershell STA\&quot;...<br><br>Message édité par: Laurent Dardenne, à: 2/08/10 16:58

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena