Frage : Eine Hiebakte benötigen, spezifische Akten von einem autonumbered Verzeichnis zu kopieren

Hello.

I haben einen Prozess, der ein numeriertes Verzeichnis im Weg „C:\CSIRP\Storage\“ verursacht.  Die Zahl wird automatisch erzeugt und ist jeden Tag unterschiedlich.  Z.B. ist heutiger Weg „C:\CSIRP\Storage\68“.  Innerhalb dieses Verzeichnisses gibt es ungefähr 100 Akten.  Ich benötige eine Reihenakte, die das root-Dateiverzeichnis betrachtet, „C:\CSIRP\Storage\“, finde das höchste nummerierte Unterverzeichnis, heute bin 66 morgen bin 67.  Dann, sobald ich das korrekte Verzeichnis finde, muss ich 4 Akten zum Weg“ \ \ servername \ sharename " kopieren.  Die 4 Akten, die ich benötige, werden IMMER genannt:

** CF0364, ** DMCIF, ** LMCIF und ** NMCIF

Where ** ist das selbe wie die Zahl des Verzeichnisses.  Die Reihe wird festgelegt, um mehrfache Zeiten täglich laufen zu lassen, also vor ihr die Akten kopiert, sollte sie den „\ \ servername \ sharename“ Weg auf dem Bestehen der Akten überprüfen und bricht ab, wenn die Akten bereits (keine Notwendigkeit, sie zweimal zu kopieren.)

Please Hilfe wenn Sie can.
existieren

Antwort : Eine Hiebakte benötigen, spezifische Akten von einem autonumbered Verzeichnis zu kopieren

Ist hier eine etwas kompaktere Version, die überprüft auch die tatsächlichen Namen der Subfolders, die nach dem mit dem höchsten Wert suchen.  Sie können mit der gegenwärtigen Annäherung haften wünschen aber, wenn nicht dieses eine Wahl ist.  Es verwendet auch ein paar PUSHD (CD) Befehle, den Wordiness des Codes zu verringern.

~bp
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
@echo weg
setlocal EnableDelayedExpansion
BaseDir= C:\CSIRP\Storage einstellen
DestDir= \ \ servername \ sharename einstellen
NewDir=0 einstellen
pushd „%BaseDir%“
Rem für /F „tokens=*“ %%A („dir /ad /od /tc /b ") setzen NewDir=%%A ein
für /D %%A (*) innen tun (
  wenn %%A GTR! NewDir! NewDir=%%A einstellen
)
pushd „%BaseDir% \ %NewDir%“
für %%A innen („?? CF0364““?? DMCIF " „?? LMCIF““?? NMCIF ") tun (
  wenn nicht existieren „%DestDir% \ %%~nA“ Kopie „%%~nA“ „%DestDir%“
)
popd
popd
Weitere Lösungen  
 
programming4us programming4us