Archivage automatique

Forum traitant des automates industriels de marque Siemens.
Sevirath
Apprend le binaire
Apprend le binaire
Messages : 5
Enregistré le : 19 mai 2021, 18:41

Re: Archivage automatique

Message par Sevirath »

Bonjour à tous,

Désolé je refais surface un peu tard, mais pas mal de boulot, et j'avais mis de côté mon code.
Pour faire court, j'ai réussi à faire ce que je voulais.
DurandO a écrit : 21 mai 2021, 19:29 Pour sauver ton dossier vers SD card,
As-tu essayé de copier tous les fichiers tout simplement ce qui devrait ressembler à ceci:

Code : Tout sélectionner

Dim destination,oFSO
destination="\Storage card USB\*.*"


If SmartTags("DB20_DONNEES_IHM_Mode_script") = False Then 'Mode Normal
	Set oFSO = CreateObject("FileCtl.FileSystem")
oFSO.FileCopy "\Storage card SD\*.*",destination

Set oFSO = Nothing
End If
Hélas vbScript ne l'entend pas de cette manière. J'ai essayé plusieurs façon mais pas moyen.

Je me suis tourné vers une solution que j'avais fait sur VBA, c'est à dire, lister les fichiers d'un dossier puis faire MoveFile de chaque fichier listé.
Corentinxs a écrit : 27 mai 2021, 08:09 Salut,
J'ai la solution à ta dernière question :

Voici un petit script que j'ai crée qui va te permettre de déplacer tes fichiers vers la destination de ton choix avec création d'un dossier "Heure_Date"

Code : Tout sélectionner

'*******************************************************************************************************************************************************************
'Script qui permet de copier des fichiers d'un dossier source vers un dossier destination avec création d'un nouveau fichier [Nom]_[Date_IHM]_Heure_IHM]*********
'*******************************************************************************************************************************************************************
'Selectionner le SrcPath, DefFile, DstPath de votre choix et mettez le NameFolder en fonction de votre machine.*******************************************************
'*******************************************************************************************************************************************************************
'*******************************************************************************************************************************************************************
'*******************************************************************************************************************************************************************
On Error Resume Next
Dim SrcPath, DefFile, NameFolder, DstPath

'Chemin source ou se trouve les fichiers à copier
SrcPath = "\Storage Card USB\"
'SrcPath = "\flash\"
'SrcPath = "\Storage Card SD\"


'Type de fichier à copier (*.* = tout les fichiers)
DefFile = "*.*"
'DefFile = "*.extension"
'DefFile = "Nom.*"

'Nom du nouveau dossier de sauvegarde (Modifier le texte dans "TEST")
NameFolder = "TEST"

'Chemin de destination ou les fichiers seront copiés
DstPath = "\\[NomDossierPartager]\test\LOGS\"
'DstPath = "\Storage Card SD\"
'DstPath = "\Storage Card USB\"
'DstPath = "\flash\"


'*******************************************************************************************************************************************************************
'*******************************************************************************************************************************************************************
'*******************************************************************************************************************************************************************
		'CODE						'CODE					'CODE
'*******************************************************************************************************************************************************************
'*******************************************************************************************************************************************************************
'*******************************************************************************************************************************************************************
'Déclaration des variables
Dim strTemp, fs, copyFile, Files, fileFields, m, weldCount, strTemp1, strDir
Dim strDate, strTime, strDname

'Céation de l'object fonction système pour la copie de fichier
Dim hso : Set hso = CreateObject("FileCtl.Filesystem")
Set fs = CreateObject("FileCtl.FileSystem")

'Détermination du chemin, de la date de l'heure et du nom du nouveau dossier qui sera créer avant la copie de fichier
strTemp = hso.Dir(SrcPath & DefFile, 0)
strDate = Right(DatePart("yyyy", Now),2) & Right("0" & DatePart("m", Now), 2) & Right("0" & DatePart("d", Now), 2)
strTime = Right("0" & DatePart("h", Now), 2) & Right("0" & DatePart("n", Now), 2) & Right("0" & DatePart("s", Now), 2)
strDname = "Bckp_" & NameFolder & "_" & strDate & "_" & strTime

'Création du nouveau dossier dans le chemin de destination
fs.mkDir DstPath + strDname

'Vérification si la variable du chemin source contient + de 1 caractère
'Fonction de copie des fichiers du chemin source au chemin de destination. 
copyFile =0
While (Len(strTemp) > 0)
hso.Filecopy SrcPath & strTemp, DstPath & strDname &"\"& strTemp
copyFile = copyFile + 1
strTemp=hso.Dir()

'Si défaut : affichage à l'écran, numéro du défaut et description
If Err.Number <>0 Then
ShowSystemAlarm "Error#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If

Wend
Set hso=Nothing
Nous avons eu la même idée sur ce coup là. J'ai vu ta solution après et il s'avère que nous avons quasiment le même code ;)

En tout cas merci à vous pour vos retours et aides.
Répondre