2016-05-23 3 views
0

Ich habe Probleme, einen bestimmten Filter zum Verschieben von Dateien in Windows zu erstellen. Das Problem ist, ich habe eine Datei mit dem Namen ADB.inp und basierte auf ihm das System andere Dateien mit dem Namen ADB001.inp, ADB002.inp, ADB976.inp usw. erstellen, und ich muss diese Dateien in einen anderen Ordner verschieben, aber das Original ADB.inp im Ordner behalten.Verschieben von Dateifilter (Windows)

Eine weitere Beobachtung ist, dass die ADB.inp im selben Ordner sein müssen, dass die Dateien erstellt werden. Auf diese Weise kann ich nicht einen Filter wie

* .inp

oder

ADB machen *

oder

ADB0 *.

Wer weiß, wie man diese Dateien filtern kann?

Antwort

0

Die Funktionen zum Maskieren von Windows-Stapeldateien sind auf * (alle 0 oder mehr Zeichen) oder ? (0 oder 1 Zeichen, außer .) beschränkt. Es kann also nicht mit einem einzigen MOVE-Befehl gemacht werden.

Die einfachste Lösung besteht darin, zwei MOVE-Befehle zu verwenden - einen, um alles zu verschieben, und einen weiteren, um die Vorlage an den ursprünglichen Speicherort zu verschieben.

Ihr aktuelles Verzeichnis ist die Startposition aller Dateien Unter der Annahme:

move adb*.inp newLocation 
move newLocation\adb.inp . 

Eine weitere Option ist, um vorübergehend zu verbergen die Vorlage, aber das erfordert drei Schritte:

attrib +h adb.inp 
move adb*.inp newLocation 
attrib -h adb.inp 

Wenn die Vorlage muss bleiben Sie immer im richtigen Ordner (unhidden), dann müssen Sie die Dateien iterieren und nacheinander verschieben:

for %%F in (adb*.inp) do if /i "%%F" neq adb.inp move "%%F" newLocation 

oder

for /f "delims=" %%F in ('dir /a-d /b adb*.inp^|findstr /lix adb.inp') do move "%%F" newLocation