打印

[求助] 求一个批量拷贝脚本

求一个批量拷贝脚本

思路是这样的,我把要拷的文件写在一个txt格式的文本上做为列表,
2 ~. ?: _+ P' n7 h+ H用脚本读入,然后在一个固定目录及其子目录查找,再拷出来到一个固定的目录,不断重复。。。# X6 @1 B* n0 u7 E

8 c+ Z \. W: @a.mp3
& p) J5 y/ B7 G) r% t; _b.mp3
3 g2 i" r% T8 I' V# j. I+ C# p( ac.mp3. ~* f/ p# R- ~" B3 i" e% x; T+ t Q
.....* a q4 |: p, I& l. W9 Z9 v$ y' p
$ \# S9 R# @ l$ M. j4 I
或者用批处理也可以,- x# M6 T+ I+ V @- A

/ s, i' ?. \) @+ X: ~/ z5 x# V求语句% M% b7 @9 z' L$ s, ~6 \
0 o) h7 G4 f$ R2 w+ y! y
[ 本帖最后由 lluxury 于 2007-10-3 00:08 编辑 ]

TOP

我自己的比较基础,求个更好的9 v* R [* M( \! e2 f5 b

9 B2 c0 t) {7 J: u4 H8 s* wsetlocal enabledelayedexpansion
5 [7 F, j3 A+ w8 i; G* \* S* o( ~for /f %%i in (word.txt) do (copy "%%i" "d:\%%i")
$ \( i" }: D# A, r, k$ W2 ^- Aecho ok..
9 A! a% Q( n3 F% Upause

TOP

我写了一个脚本

在我的电脑上调试运行没问题。现给你说明一下:. s& B' c7 i& \: H
" t9 x$ S2 i2 {- {
1。 假设要拷贝的所有文件在c: \script 及其子目录下
( x2 l1 Q; X. p; i2 e/ i2。 文件列表在c:\script\filelist.txt 里面比如
% `, u- M5 w5 |' K- r& m" Ia.mp3
( ` z- h5 M1 pb.mp3....
8 `$ @) g' @& T# o9 A2 S8 n2 C# p# Y3。目的目录是c: \music
x* z# x' J' a" q" q! j4。 如果a.mp3等等存在的话会被拷贝到c: \music里
% D% y* g4 i5 ?" p: i, c6 Z! m
: H% ^% l* j5 B" X3 w************
0 |1 z* w7 S* i8 q- j1 p' rConst ForReading = 1
7 r1 }* L5 e& C s+ F- \8 |Set objFSO = CreateObject("Scripting.FileSystemObject")8 C W7 z/ D1 _9 L8 p
objStartFolder = "C:\Script"8 m3 G; u" _5 e9 {1 e
objDFolder = "c:\music\"
# d$ Z: g) r/ dSet objFile1 = objFSO.OpenTextFile(objStartFolder & "\filelist.txt", ForReading)
0 d$ b! r. J) n4 A- dDo Until objFile1.AtEndOfStream' d; M* e6 v) n% K2 f
Filename1 = objFile1.ReadLine" Z9 @+ F# B* E/ n% d
'Wscript.Echo Filename1
0 T- C2 o$ J5 X1 m9 ~9 C Set objFolder = objFSO.GetFolder(objStartFolder)
& H' n* O, v( V8 u/ { * @* t* U% ]! q4 Y" i8 M
If objFSO.FileExists(objFolder.Path & "\" & Filename1) Then) Y( @- n% e$ I9 V0 n9 [. M
objFSO.copyFile objFolder.Path & "\" & Filename1, objDFolder% A4 u2 y; Y/ Y7 C$ E
End If2 o# f7 \4 L& o. [; Y: `& f

$ Z, I( e& {3 N8 [) F ShowSubfolders objFSO.GetFolder(objStartFolder), Filename1, objDFolder
. \0 d4 ?0 ]5 W; @Loop
9 `! Q. {, c& W- \$ A4 xobjFile1.Close
7 K' O2 A6 b8 e8 a
# ?& {5 x, s6 ?/ a4 k) W2 iSub ShowSubFolders(Folder, TargetFile, objDFolder)
# d* d; ` Z- M" L For Each Subfolder in Folder.SubFolders2 \; ]3 H% P. _7 c
'Wscript.Echo Subfolder.Path
% X; D& l$ Y+ W3 u! i; i Set objFolder = objFSO.GetFolder(Subfolder.Path)
5 [0 S0 N* c5 X! t, l( q If objFSO.FileExists(objFolder.Path & "\" & TargetFile) Then s7 L. F) z0 S; a1 a
objFSO.copyFile objFolder.Path & "\" & TargetFile, objDFolder/ T3 M6 `, `4 A- ~
End If
7 b2 r; l5 v1 K$ t9 H5 {5 W3 p ShowSubFolders Subfolder,TargetFile, objDFolder
, s9 ?: k4 n0 P" Z1 g3 Z- G Next
1 \; e' ?3 \! a/ B; m( uEnd Sub
! ~. q7 P6 N; o0 @6 [
* N7 W4 O- l: H! Z! o******************& t Q% O6 C6 T+ \1 b8 A% O

0 T& n5 ^; F$ [2 [[ 本帖最后由 watermarking 于 2007-10-7 11:38 编辑 ]

TOP