|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑 1 n: P5 M+ }1 `7 R
/ K5 X; L+ D" [0 V这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧
0 M( g G. v) f9 I; E@echo off
0 b' C7 ~! }, i! r# c9 q) J& R$ stitle 文件批量检索复制
9 i: ]6 ?- G0 c& ]! P! I/ ncolor 1e
2 a: P1 B1 H/ _% p) {. N) l:stad
3 }, ?& c7 b0 g1 @8 q" U Cif not exist list.txt goto exd
9 ~, r' E) z; |. |/ Q# zcls* A2 N, Q8 j5 d9 Q$ O4 U& ~4 r
@echo.
4 C5 q" }6 Y( Zset/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
$ {% P p0 l- u7 m" wif "%ph%"=="" goto stad% Z# ^; W* ^2 ^0 q0 F+ r9 E
if exist "%ph%" goto menu7 y3 W$ V) |: l& E
md "%ph%" : F& s; Y7 z, K* A' j' z( @/ x
:menu, \# B& {7 n! t4 {; q
cls
/ s6 U9 D/ d: v/ q8 i2 x% C) Smshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
) q: k9 q' s2 q2 Qlist.txt
# ]8 J& K# X' R$ y S- c! xfindstr /rc:"." /rc:" " list.txt|| goto ens
$ ^6 W& v1 \9 h0 M1 k4 X; B0 p* N: scls
- N. w, P. q6 [$ g0 J( y! G, Y@echo.% G6 H* k& v. a" z' Z* t+ \
@echo 回车继续......
$ ?. a4 f; D' y4 k1 e3 l, y- Bpause >nul
. B" t$ i% L% t$ ? Y) ^* A7 M+ A, ncls
" i) D: o7 W' k" u+ I3 ~@echo.
. F: _5 o- Y9 W2 W0 L% x& v@echo 正在搜索文件,稍候......5 d8 `4 G+ n8 `
for /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt 8 u" Y9 i/ J) U% F9 n
cls* Q! W4 ~ d1 c4 J$ v
@echo.
9 ]& {* B ~2 F& ^cls) Q! X }, F# |: d. s: S* w
findstr /rc:"." /rc:" " lise.txt|| goto err1 f3 ]7 j- a- e3 X3 D# k2 p4 \; ~& ]# |
cls6 u3 t; \/ P' m( `. h' T
mshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)( ] @$ q! A" R }
lise.txt8 u+ b1 i2 E0 G( g
@echo.5 Y! P4 U, T J" H5 E6 [- [
@echo 回车继续......
5 |; ~8 v% V1 Q% F. f1 kpause >nul! q" a- g u9 J' v' U
cls
3 l' P3 W- m/ q6 Y1 v; N# K3 V; @findstr /rc:"." /rc:" " lise.txt|| goto erx
. H0 K. g$ h$ V" G: P% ^/ Kcls4 D3 }- @0 C$ q. |, l
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul6 {: g }* N7 h1 t! N( e
cls
6 ~- `! ?, c+ [# N$ E@echo.
" q( S. ]0 {( I( L7 v% lset cnt=0" @/ A9 _. x6 q2 Z z
for /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1/ h+ B! S* p# t
)$ A! \0 N; Y) v. U, o) ]! |! p
if defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.
5 V# u' a- C# x6 pdel/q lise.txt >nul
) v5 Z1 c# e) n8 Z9 b+ p/ x' h$ hmshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)2 S% p+ j* J& C, i! T
explorer.exe %ph%8 p2 k, m7 w- d/ K9 |# P
exit
& Y* Y: c5 J3 ^:exd
+ B J2 }$ Y- c4 P' y& Rcls' @# f, B! [5 s
@echo. >list.txt
* u, D$ u- b2 P/ A! e8 d+ zcls
5 s( ]. l3 h& Z. G: q8 ?# j* `mshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)
% B: j; m* V/ m. icls
) b8 J, t6 _0 |4 t* e+ ^/ T) igoto stad
/ Q. Z. K3 t0 A* v7 c+ v6 s/ {:ens* Q, r3 y; T/ j) t
cls8 H2 r% q( Q* _# M+ _
mshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)6 u2 H$ B2 D, R! ]
if not exist list.txt goto exd
& t* I4 y% a) Lgoto menu
Q4 n( d7 O' u& p:err
/ f+ G6 r+ c9 r+ z1 [+ L# Lcls: E8 r6 E# G5 N. `0 D" O& D
mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
$ `/ A- Y6 X0 n6 {4 ^exit
- G, C+ {' I0 g! N) b:erx4 V |# Q$ n. Q4 |; D* r2 {3 \
cls. ?* I# H' Y; n, R
del/q lise.txt >nul
# H! F% _7 i5 J& p. jmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
$ O3 s- t' b, D1 Mexit
$ S" N- h t3 C! C差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd7 ~" u2 M$ E1 a9 C# z
7 }" @) \0 {/ Y7 h: _ |
评分
-
查看全部评分
|