|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑
s& i, ]$ T- ]4 G" X4 I5 A; O( S. h9 X# ?' z
这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧
8 g, E* R& I: O" h8 f@echo off
3 |: k, {$ s( ~) E8 Etitle 文件批量检索复制
- [/ Y' I$ O7 o2 `) z3 ^+ Xcolor 1e+ L7 |9 R7 m# R! ^' O6 a
:stad
: ^7 K0 l# q" p# a2 Yif not exist list.txt goto exd
$ P; K8 n) t: x: ^cls
4 r/ ~" F$ b9 M t5 \8 d. d@echo.% p+ M6 R1 C5 l% Q
set/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
+ K0 y& J0 k4 p) p$ I, l) O5 Dif "%ph%"=="" goto stad ], }% p8 Y: `! }/ ?' h+ s$ Z) ]7 ~) K
if exist "%ph%" goto menu
, d- P3 l3 @2 A- Rmd "%ph%" " a0 e3 S' Y5 W3 V
:menu
$ ^$ w* }" [( x/ h+ `" tcls
5 O9 G# y% x$ e) C; C! ?- H8 pmshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
: z/ |9 f; n2 t/ a i+ r9 x. plist.txt [8 H: i% c2 I# D6 H" C
findstr /rc:"." /rc:" " list.txt|| goto ens# q2 H- O. Z6 ^' b4 a
cls
; G. H2 Y- P, Y1 e: |. }+ G@echo.
! q9 A* n8 U$ |" V@echo 回车继续......
F5 h2 b% v* W* U: _7 v6 jpause >nul/ t& V+ U2 s: G3 a! g! T
cls5 u1 h. w2 \. l* |( t
@echo.! p2 l/ U B8 E
@echo 正在搜索文件,稍候......
6 s# {, u2 L" e& J' o4 Xfor /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt 9 ?4 c2 R% F3 {( [3 C
cls
2 o: G" [" t9 G$ r! E( s/ n: ^4 l@echo.5 J3 r5 V) j! L
cls3 f+ P2 r" o+ A6 }% i' u8 b
findstr /rc:"." /rc:" " lise.txt|| goto err
4 N# b1 o6 M, z1 _( Z; |cls
8 z1 e6 b8 z& f7 ymshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
% m3 t: b2 \ g' ~7 e6 K$ }lise.txt
/ j2 I \6 ~- }' }3 j4 Q@echo.
! F1 X& l2 o, i+ p0 P% `% U4 e@echo 回车继续......( o( y' q! k9 `( e" i6 r
pause >nul, N2 h' c- p3 |0 |" l5 i" a3 {
cls
0 u6 H s& v6 p! H8 J, Ffindstr /rc:"." /rc:" " lise.txt|| goto erx
: T) }! |% F+ ^, ?3 Ccls* q& e* D& f. M( n K4 {% D J
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul% n# f5 K* G' K- r- k% J9 g
cls
7 K! D O! E! R* K( ^4 P, g@echo.7 i, |# S$ d2 H5 R
set cnt=0
; K( C: }, h/ X7 [% [ ifor /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1- z! F9 E% v$ l, f5 y
)
. d6 V: y' H7 P( I5 S: D! xif defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.
/ y+ h" @0 s2 s+ Hdel/q lise.txt >nul
9 E* a2 h! W9 Amshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)
8 m7 K. H8 W6 a% d( g2 W+ |, ~8 x Hexplorer.exe %ph%
7 ~' v7 h3 s& }, ]: ^7 v8 B b7 ]exit& Q$ u ]3 o9 E: Z/ Y$ s' @) I
:exd9 K, n8 T# \+ L$ E9 K7 u$ C
cls2 }& s. V$ e0 F X
@echo. >list.txt( s. l# t& S! o# h$ w
cls
5 `2 a! I: l$ x' \/ [mshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)7 A8 y1 X2 Z9 I4 E3 m5 p
cls/ x. E8 |' A; ]5 E+ I& N( i: a
goto stad
' L p. o0 [$ g- c* ^& r:ens# S4 B" X/ t5 t X0 p% V7 k! ]! C
cls7 s0 @* D8 S: e- o. `
mshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close), }! Y% _$ c" P: Q
if not exist list.txt goto exd
2 l2 J8 Y( F9 F1 Mgoto menu
6 F3 G0 \2 c5 j:err( s) k a0 i9 q. g) E8 w
cls
: B; p0 l' h6 `9 A& kmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)" Q# C% S+ c2 A$ Y: i9 L5 X I
exit
4 Y' @, |1 J( X9 H:erx+ I1 k' `4 x6 w9 n: r7 k
cls* h: A" @$ a! C; D4 e2 V9 E
del/q lise.txt >nul
7 O# `0 X% X) Ymshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)- T& P5 i2 ~6 K+ B
exit
/ j. B& Z' i9 @& t9 r0 T7 d S差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd
7 t- @- S- \2 Q: N0 e2 o" @* ?; S& l+ D8 a9 z" J; E" R9 U
|
评分
-
查看全部评分
|