denz Δημοσιεύτηκε Σεπτέμβριος 1, 2018 #1 Κοινοποίηση Δημοσιεύτηκε Σεπτέμβριος 1, 2018 (edited) Γεια σας, Έχω κάποια αρχεία σε έναν τοπικό φάκελο τα οποία θέλω να τσεκάρω με ένα .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 κτλπ. Νομίζω ότι δεν γίνεται έτσι κιόλας αν δεν κάνω λάθος. Οποιαδήποτε βοήθεια ευπρόσδεκτη! Έγινε επεξεργασία Σεπτέμβριος 1, 2018 από denz Link to comment Share on other sites More sharing options...
defiant Σεπτέμβριος 2, 2018 #2 Κοινοποίηση Σεπτέμβριος 2, 2018 Με 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now