VBscript pentru a muta fișiere dintr-un director în altul (Programare, Vbscript)

dweebles a intrebat.

Sunt nou în VBscript și aș dori ajutor pentru a muta un anumit număr de fișiere dintr-un director în altul.

În momentul de față am un set de 3 fișiere(în scop de testare) cu extensii diferite și aș vrea să mut toate fișierele dacă sunt exact 3 fișiere(nici mai multe, nici mai puține) în interiorul directorului sursă. Codul meu de până acum este:

Set fso=CreateObject("Scripting.FileSystemObject")

Set fldr=fso.getFolder("C:folderA")
for each file in fldr.files
    If fldr.files < 3 then
            msgbox("Need more files")
    Else
            fso.MoveFile "C:folderA*", "C:folderB"
    End If

Orice ajutor ar fi foarte apreciat. mulțumesc tuturor!

2 răspunsuri
Ekkehard.Horner
  1. Utilizați fso.getFolder("C:folderA").Files.Count pentru a obține numărul de numere din C:folderA.
  2. Faceți acest lucru înainte de – not in – o buclă peste fișiere (pentru a le muta)
  3. Luați în considerare mutarea (și re-crearea) dosarului dacă acesta conține exact 3 fișiere

brahim
Set FSO=CreateObject("Scripting.FileSystemObject")
Set fldr= FSO.GetFolder("C:FolderA")
Set Collec_Files= fldr.Files
For Each File in Collec_Files
    If Collec_Files.count < 3 then
      msgbox("Need more files")
    Else
      FSO.MoveFile "C:FolderA*", "C:FolderB"
    End If
Next

Comentarii

  • MoveFile nici CopyFile nu poate gestiona fișiere cu căi de acces mai lungi de 260+ caractere. Chiar și în calitate de căi UNC specifice Windows, care are extensia \? prefix. Este mai bine să folosiți instrumente externe precum robocopy pentru a ocoli acest lucru. –  > Por Andry.