Könyvtárak másolása batch-ből wildcarddal.

A feladat az volt, hogy több, azonos kezdetű, de teljesen véletlenszerűen végződő könyvtárakat és a bennük lévő file-okat kellett volna átmásolni máshová és a forrás helyről utána törölni. (gyk mozgatás, de inkább két lépésben csináltam a biztonság kedvéért)
A copynak csak file-okat lehet megadni a forrásnak. Van vkinek vmi egyszerű ötlete? Úgy oldottam meg, hogy raktam fel a gépre arj-t. Annak már megtudtam adni adni wildcard-ot. Bekapapoltam arj-ba őket, aztán a célhelyre kitömörítettem. Gyorsan kellett megoldani és más nem jutott eszembe.
Szomorúan kellett arra is rájönnöm, hogy a 7zip nem tudja törölni a tömörített file-okba bepakolt file-okat automatikusan. Ez azért szomorú, mert egyébként ez a favoritom. Ezért először ezt próbáltam az arj előtt.

Hozzászólások

miért csak fájlokat lehet megadni ?

man cp és láss csodát :
-R, -r, --recursive
copy directories recursively

Celeron-M 1400Mhz, 768M, Debian SID, 2.6.18-rc7

A fő csapásirány nálam is a Linux, de munkahelyen Win van, így néha musszáj vagyok küzdeni vele. Mivel Linux-on egy ilyen másolás teljesen természetes dolog, ezért is lepett meg (bár ha jobban belegondolok, nem kellett volna meglepődnöm ezen ;-)), hogy win alatt nem lehet parancssorból, külső segítség nélkül megoldani. Na, de most már ezt is tudom ;-)

move
xcopy
robocopy (Resource Kit)

Köszi! Az XCopy jónak tűnik, de van vele kis gondom.
Ha megadom a forrást pl ebben a

xcopy /e EZT* c:\ide

formában akkor másolja a nem "ezt" kezdetű könyvtárakat is. Nem értem miért?
Az exclude nekem nem felel meg, mert nem tudom milyen más könyvtárak lehetnék még ott. Ennek ellenére próbáltam, de az sem úgy megy ahogy én várom:

C:\111>xcopy /e ezt* c:\222 /exclude:aaa
Can't read file: aaa

0 File(s) copied

A move nem jó, mert az ugyanúgy nem kezeli a wildcardokat mint a copy:

C:\111>move jah* c:\ide
The filename, directory name, or volume label syntax is incorrect.

szutyok a regexp-kezelés.
xcopy E* IDE /E nem megy
xcoyp *E* IDE /E ok, de ez másra is illeszkedik.

vbscript a haverod