|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑
9 B, O @/ |- Z- Z, ]
9 {3 d! O# Z9 d `. C" v- B这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧 . G: I' x$ @5 W% n1 K; W) ?: G
@echo off
* W( P/ M, N9 |title 文件批量检索复制
\0 l; r" J' D; M6 a7 V X) ?color 1e
( @) t; g: y8 c |- |:stad" N6 v3 j P2 w6 r; _5 o' `
if not exist list.txt goto exd
- a9 }2 }+ J7 U" _0 icls1 P' W6 K+ U% V& p |. s4 _. J6 O b
@echo.
$ J+ k# N: a+ Y1 e3 Oset/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
F. F/ o" V A( |$ |5 Mif "%ph%"=="" goto stad
2 `9 [8 I( u2 ~8 G0 uif exist "%ph%" goto menu
& _ a2 L% v3 x% l0 w+ ^md "%ph%"
' B8 F3 c, e- m( }) `1 I:menu! a4 `1 c. ?! t' I
cls
- [% X' e- @" M3 f& d0 Q& c& zmshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
2 v& Z5 x! g# Blist.txt + J3 D. R0 F! L" U0 ~" R1 }8 ^: P% K
findstr /rc:"." /rc:" " list.txt|| goto ens
; i3 z, k/ H( U# m1 E5 ~6 }cls
2 q0 ?- ?7 e% C; t@echo.$ s' i* R$ y2 t# G' h' U7 _# p- ?
@echo 回车继续......
* A' n# l: F0 s6 [pause >nul' ?' {3 f, e9 c* C
cls
6 e1 J4 u* }0 s# N6 o# C@echo.' n8 {9 ]) y* f6 s: q
@echo 正在搜索文件,稍候...... Q4 U* @& J( ^; ]" u' m
for /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt 8 D" \+ h1 v0 I* e- X/ J4 I
cls3 w$ [/ Z+ H* X. P) J( T
@echo.5 }+ R; ?* [+ ^% i
cls
0 O$ ]% e* L6 }8 }findstr /rc:"." /rc:" " lise.txt|| goto err
1 S( O& I1 G) {% E, L) m X0 ]cls
2 ]9 ?+ R) M. k* @, Pmshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)1 U5 }6 k. T) q8 ?. @1 ]
lise.txt6 `. y% @; X0 [2 K
@echo.& \9 Z- M/ k ~6 X1 Z( j7 r0 t4 y5 N
@echo 回车继续......9 w0 J+ P( p. S1 n# v
pause >nul
- u) c: _) h8 x3 s2 f) C* Gcls, W) F3 f6 ?/ \. [0 F* @% |1 O
findstr /rc:"." /rc:" " lise.txt|| goto erx& f6 D( J; s$ Z' h: m; M
cls! x# N8 _% P. ~3 Q
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul
' ?/ c& u, w" @( M# ]cls, s7 ~" R: V% l
@echo.
: w+ \1 n% w* @/ ?8 Wset cnt=0
# C( X' P, M& N2 `$ y9 v/ rfor /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1; I0 J9 R# p8 V3 z& O
)
1 A l/ |8 i+ s% u/ Yif defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.
6 q4 _* G# I/ Zdel/q lise.txt >nul
/ j( K" t3 q$ ^mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)
$ x3 H* P" j/ i& }0 D9 V0 Lexplorer.exe %ph%& N: j; J" L d+ m
exit
. k6 ^( j# _! l( N( n% j:exd
# C1 ], K; K! Xcls) r0 {* F2 K" l
@echo. >list.txt
5 v4 u$ \3 s7 x6 @" Y P6 Vcls. k! N: a. v, p1 C6 {# `
mshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)) r% j6 |, Y) }
cls6 H9 d O, X8 {4 e( r# U: c
goto stad2 f0 _7 x+ D9 n+ x
:ens
: M2 P. e+ B3 b) i* T9 mcls
4 ]' I, @/ D' wmshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)
# ^* ?" n9 t9 b' ^ A8 v9 }; j' vif not exist list.txt goto exd
# p* c! I4 X/ }1 `; q( \goto menu
) T# @, w# Q4 g0 d/ {- l:err* _3 U, Y- O3 p2 Z0 f
cls
& ^2 K' r. x6 _7 L' Q4 cmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)) b% y' X. B- _/ S A9 K
exit
2 i/ H- ?. a9 f$ X:erx% \, Y' m* { S r0 A, c
cls" U- p) i0 P z& `7 r
del/q lise.txt >nul
* e+ K+ N! K( l3 }mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close) i9 c" y8 [# x2 ~9 X9 x# a- {, @
exit ( y6 @9 A5 l3 Z$ c8 f! _
差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd
* O; t+ Y% e0 c, o, l6 ?* J$ @5 N ~0 D2 R9 y2 x
|
评分
-
查看全部评分
|