Jump to content


Batch για εύρεση διπλότυπων και μετακίνηση τους


Recommended Posts

Γεια σας,

Έχω κάποια αρχεία σε έναν τοπικό φάκελο τα οποία θέλω να τσεκάρω με ένα .bat αν υπάρχουν σε ένα dir με πολλά subdirs στον datacenter μου και αν ναι να μετακινήσω τα αρχεία αυτά απο τόν τοπικό φάκελο 1 σε έναν άλλο τοπικό φάκελο 2.

Ο κώδικας που έχω χτίσει και λειτουργεί είναι ο εξής

@echo off
pushD \\server\pdf
for /r %%i in ( *.pdf ) do (
if exist "%userprofile%\desktop\F1\%%~nxi" ( move /y "%userprofile%\desktop\F1\%%~nxi" %userprofile%\desktop\F2 
) else echo File %%~nxi is not a duplicate
)
popD
pause

Όπως βλέπετε ορίζω το dir του datacenter server και μετά με την for /r ψάχνω όλα τα .pdf αρχεία που υπάρχουν στα subdirs.

Το πρόβλημα μου είναι ότι τα αρχεία που υπάρχουν μέσα στα subdirs του datacenter είναι πραγματικά πολλά οπότε το operation αργεί πολύ να τελειώσει. Θέλω με κάποιον τρόπο να θέσω μια παράμετρο να ψάχνει μόνο όσα έχουν modified date την εκάστοτε σημερινή.

Σκέφτηκα να αντικαταστήσω την for /r με

forfiles /s /m *.pdf /d +0 /c

όπου με την παράμετρο /d +0 φιλτράρει τα pdf αρχεία που με βολεύουν (με σημερινή ημερομηνία) αλλά δεν ξέρω πως να την συνδέσω με την if exist και έπειτα με Move κτλπ. Νομίζω ότι δεν γίνεται έτσι κιόλας αν δεν κάνω λάθος.

 

Οποιαδήποτε βοήθεια ευπρόσδεκτη!

Έγινε επεξεργασία από denz
Link to comment
Share on other sites

Με forfiles  θα βγαλει μονο τα αρχεια που εχεις ορισει(pdf με σημερινο modified date), οποτε δεν χρειαζεσαι το if exists, αν καταλαβα σωστα.

Με το @file περνεις το ονομα του αρχειου και με το @path περνεις το full path name του αρχειου.

Δεν εχω windows για να δοκιμασω τωρα αλλα δοκιμασε forfiles /s /m *.pdf /d +0 /c move /y @file %userprofile%\desktop\F2

 

Για περισσοτερες πληροφοριες https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/forfiles

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.