|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑
9 S* T/ x( N1 R8 c N
/ v) ~/ e" h$ K9 O& v. O; u/ W这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧( v+ N r+ ]( u L# g$ g, E. @. w7 H4 ?
@echo off; j7 x/ H( J) N# z1 |
title 文件批量检索复制
" \9 o ^, c. Y* ^' }+ Q* r+ Rcolor 1e
+ t3 J! m( m5 I8 W6 @, V U* ]:stad1 T& o+ O1 G2 s1 c$ [8 G
if not exist list.txt goto exd$ | |# K5 B( P
cls+ K; E% {2 v. b) c2 X4 |) P
@echo.
* [) v8 e1 N4 f1 G s: rset/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
2 ]- _+ Q I' ]# v; G! {if "%ph%"=="" goto stad
7 y; l) A; K) pif exist "%ph%" goto menu0 w8 G% F5 W# v' i" o% v: l; a1 m
md "%ph%" / q; Q( H) b) V: x% u
:menu
: V$ w: I- r* r+ i' g+ q+ jcls
1 e1 F3 t _' i, L1 q* ^4 Mmshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
" \' N$ C" y: t+ v* F+ i! D% Mlist.txt X1 s2 }7 O. u9 V! u
findstr /rc:"." /rc:" " list.txt|| goto ens$ r( j+ W l6 Y( n3 P2 s
cls; W; A0 A" |* ~& D$ c. C! a/ B$ h
@echo.
! Y2 n; k' Z3 O@echo 回车继续......
! }, L% E2 L. o+ A" i, \! vpause >nul
& y" \! G- p) e) K( ~4 H+ A0 Lcls/ k. Z7 h+ |3 z+ r' Z- B6 d' |
@echo.
5 m1 `4 q9 }$ a( k+ M@echo 正在搜索文件,稍候......+ H1 O, V' k5 |8 K" l8 ]( E( h
for /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt 0 G! } a+ @5 x3 I9 \2 y
cls) o: w5 w, S3 V. v# A5 Y; _0 {
@echo.4 b! T# r# {4 S, n3 A
cls
5 W( V3 I8 A: ^, X" T# m- Ufindstr /rc:"." /rc:" " lise.txt|| goto err* c/ R9 n+ I! J! f7 |
cls
+ D. t4 J* ]$ l6 M3 K1 J J, e' Wmshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
. i: |6 s7 W. W5 n2 U! qlise.txt/ r1 h/ y' R, Z% A0 i* @
@echo.2 ^4 S; l, {3 X
@echo 回车继续......( ~) H4 A0 C) @8 p$ v3 m1 O7 x
pause >nul
- c) n+ z, \ {9 ]; Ucls5 U% m! y5 D& Y2 G! v: e5 l
findstr /rc:"." /rc:" " lise.txt|| goto erx
+ T$ @& Z! g! ?9 i& r. f' Ccls0 l- c8 V/ L& b; K% g! n6 `$ K& R
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul/ ]0 C4 M4 z2 J# O0 K- t7 ^) A
cls
' A7 m0 q" L' i3 F8 ^5 N: W2 W" P! i@echo.. z k: F2 \/ ^0 O/ W
set cnt=0 U. G8 O% R$ p, ?' t# W4 s
for /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1- f/ a" z5 ~/ G6 P( W: q& w+ b' a# Z' C
)
$ K. t1 X* o" j# X% g: | R# M; lif defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.
4 u6 M: j+ d$ n% o2 Fdel/q lise.txt >nul a' q# V2 t7 o
mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)
# A% h+ }$ R" `1 Xexplorer.exe %ph%1 ~5 V4 R3 V$ r& W9 s) R9 o
exit! ?! A2 G# d) \. }- p# F
:exd
6 b1 A, G! r* T/ {3 |- l5 Ecls
7 D9 n) z$ f2 p+ \/ t@echo. >list.txt9 f8 m# L/ N; Z' g0 R/ B& v( r
cls
+ Q4 x' s; z: G- qmshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)
k" V' a& o+ \cls
6 E6 R2 c9 I7 tgoto stad- c* i, ?, v* K/ N
:ens$ y% D2 x" p1 U/ t
cls# _* k* T# s1 D& y; Z
mshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)9 x6 N6 d" W+ P' h7 i4 k
if not exist list.txt goto exd- [) K* P% [/ O# m% B3 K
goto menu
2 a5 O w7 D9 T/ B) }, ?:err
5 j- ?/ d- F- ]cls
0 x6 Y9 D# O6 c4 dmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close): ^3 ^% K0 q' w! S
exit7 C, [ t# ~. p2 P& G0 X
:erx% e) ~8 \$ V o7 \+ S
cls
0 A. p) l1 k adel/q lise.txt >nul
2 |# V' s& Q1 Vmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)# J x. C" X: i0 V; Y. _
exit
4 U! P8 P' N8 y差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd. S' \4 J: y- Q, t9 y/ \
8 u- D% c4 E& ?$ D% [4 X( M, k
|
评分
-
查看全部评分
|