|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑
' P8 A5 T8 s: n- y3 v8 U+ l
# F1 w' @4 [3 }( g5 H" n; g这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧
N; f* a* A% H- o- y@echo off+ [) S3 w6 t0 x! h0 m
title 文件批量检索复制1 t: E4 n3 C, P0 y: M. T& _6 o! O2 g
color 1e
* Z- q1 g; N& T( z:stad" g' F, `. J3 r# \ s
if not exist list.txt goto exd# m; Y' R/ {* P6 L& ~
cls
3 A/ n0 T% C7 W# t5 F# G3 ^4 J@echo.
# n7 U; [5 Y1 d9 Hset/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):; U( R3 }4 O* m9 C/ T
if "%ph%"=="" goto stad _/ X9 E0 A+ g0 ~2 I, V( E
if exist "%ph%" goto menu- X& D9 J: L2 _ }
md "%ph%" & D/ V9 P5 S0 v
:menu; h' m0 W! `7 z2 f
cls
3 @# D5 ?1 H \- [. kmshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)$ O# r/ w6 ^5 y$ u( ]' e4 ?
list.txt / e+ h6 j& w$ ?4 i, v. w; \
findstr /rc:"." /rc:" " list.txt|| goto ens4 s0 Q, C1 B- N2 t* ~. _
cls' |* p3 P7 p5 ~) L$ E9 F
@echo.- ?- r6 E& w5 l8 ^* p
@echo 回车继续......
) p$ q" F4 U2 J9 @ @1 V2 `pause >nul
( C0 ^% u1 o7 p4 f) m6 scls; j" ?7 |- ^+ ?. }0 j
@echo.
, p1 J& I7 _" \4 j@echo 正在搜索文件,稍候......
5 A! U9 O% Y3 D' Kfor /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt $ f: Z5 ~8 B! \( s. n" t
cls1 ]0 q+ M+ u$ S; T% w: ?
@echo.+ ~$ Q2 q; M- w1 P2 x! H" |
cls: |/ ?/ c* p( y; O1 K
findstr /rc:"." /rc:" " lise.txt|| goto err
+ ?* E! h) b4 R6 Z1 ~# Kcls1 p2 z$ g N6 [7 e1 @3 H7 v2 c% c6 r
mshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)+ ~3 x: m: x9 ?$ ~1 C' {1 ^2 @! w* b
lise.txt2 @! b. L( T" o/ P. m
@echo.0 P( k6 ~9 I) {) G/ n' Q
@echo 回车继续......, g; z6 J) ^7 o( q
pause >nul
1 Q9 [- t8 n) v: jcls
' p& r/ k! C% E4 h3 @findstr /rc:"." /rc:" " lise.txt|| goto erx
+ m8 Y1 g9 L |, I/ d+ Icls7 X3 P& ~5 i- W' U- a. x t
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul% j* K6 a/ g0 p$ X- R
cls7 v( D3 {' \+ b2 M
@echo.
. Z- t0 B. ]4 N$ _4 R5 v+ [set cnt=0
9 Z2 j' j/ Z8 efor /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1
$ W5 ]4 |8 F8 A* `, x$ m! e)9 C$ K6 {, j. C
if defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.
$ {7 r$ L+ t7 Q5 [4 s2 edel/q lise.txt >nul5 d& k2 H# {# r, v7 y
mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)( P' ]: h7 L6 l8 Z# \$ R
explorer.exe %ph%
' x" s% F$ L# ]0 Y# V/ `# ?% o# r1 oexit; b5 O7 H$ k2 e* k8 i$ s
:exd
. b! o. L! N$ I0 W# a+ ?: mcls' @; C+ F+ g1 j4 s% n+ ?) I/ A. u8 {
@echo. >list.txt
& g4 l% Y9 Z K! s# V! r, Ncls
$ F+ [- `3 ~; h% W/ ~! s" nmshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)" v2 W4 s, t; j6 R
cls# g) s: i \* {7 C
goto stad
" k& v: e5 D% x:ens
( x) S& O* ?$ N U1 Vcls
4 b ?, \1 S2 B/ Emshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)
X/ {9 g$ ]2 m8 F; k* Tif not exist list.txt goto exd1 C* m, _: {( w T6 I |
goto menu
% j% @/ b" p" R% {( z0 ~) z) M:err! ~" @" s8 O2 @# T
cls
3 d, ^* U) W2 C. ?mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
/ |: f3 ?/ `- W- H" h) Y kexit
$ X S& D: O% \- m* w:erx
, _- {3 E' h) @cls4 h8 |9 r/ K$ ~# D+ I
del/q lise.txt >nul
& n7 G/ I8 {2 R( b6 P8 ?mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
' X9 e, @7 A" g" w7 Cexit ( A2 X! e" m3 Z4 o' o
差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd
: h) T% F' q- W! h
j1 A+ ^* V$ {2 X: [, Y5 p+ E% x# R5 s |
评分
-
查看全部评分
|