打印

[原创] 批处理学习过程中写的一个无聊的批处理

批处理学习过程中写的一个无聊的批处理

软件越装越多,功能越来越多,右键菜单也越来越长' Y5 X% I- L; ~/ z+ l
我的计算机上没有安装打印机,但几乎每一个文件的右键菜单中都有一个print, 看着不爽,其实就算有打印机,我也不可能用右键选择打印" `0 Q+ D0 H% S2 d
, j" y$ d/ ~6 x' D4 s$ A
于是就写了这个东西,花费了大半个晚上,唉,命令不熟啊" J% m+ k8 |; v& @( }7 t. Z3 s
##############################################################################3! ]4 V8 C. O7 g' U0 Z$ K
@echo off$ j* u2 X# b, s2 i5 i
color E1. ^' T3 {) K4 a; P* K
title www.sharecenter.net$ B# e) k) j1 W
echo.# |4 R" w3 [# U% Z6 a
echo **************************************************
+ M/ G. O$ V$ |+ k% V6 Techo www.sharecenter.net: n! |9 _* g% f6 A
echo 脚本天堂1 w& V! w2 J, O8 ?$ p! E, ~
echo **************************************************
6 S; l8 |8 }" p e8 zecho 本程序将删除文件右键菜单中的print选项
: H- ]5 |. e! O* ^4 w R8 M1 H& ]echo.: z: y" u$ v0 a- K& [4 f7 ?4 T
set /p choice= 按Y确认继续,直接回车中止程序……
. r: R2 E; q* `$ f. I1 ?1 m# a. @echo.& N: ^: ~( C* E" U0 }8 f8 G, m
if %choice% == y goto DelPrint
9 R& t" v$ h4 Q' w: {' \% E6 Ogoto bye
; C/ J8 c! d$ I3 t0 q( } \% e' P; l8 q) A
:DelPrint
! p- K- R5 h7 @echo 请稍候,正在检索注册表……$ V' y" B0 D2 } i0 C5 c

W& Z2 t: d8 [9 g8 t }4 Greg query HKCR\ /S | FIND "ile\Shell\Print">a.txt
, J) T& O& b1 N, `7 b1 Kreg query HKCR\ /S | FIND "ile\shell\print">>a.txt
' Z" w3 l) k {4 ^0 r::本来一次也就可以了,但我在自己的计算机上删除时,发现jsfile,就是JSCRIPT脚本文件是"jsFile",而其他文件却是"*file"6 E* M4 { r" l' w" x: f) s: I
::reg query又没有忽略大小写的开关,于是只好用两次,多花一次时间
6 d" W3 l& r+ C; Hecho.1 H" m' s* [( X0 F3 h3 |
echo ………………7 }( `; n2 v" @) w# x+ y. M1 z
echo 检索完毕,正在删除……
! }- d' V( }" x* D) y0 C A+ p+ K::如果乐意,这里可以再加一个确认删除的选择
, q* J; G* A0 Z! {, J! ~1 ufor /f " " %%i in (a.txt) do reg delete %%i /f
R, ~3 h+ {$ R* j0 O: t7 l, s- Q' i5 U2 u
echo., h4 i9 L/ t0 J5 w' q) p
echo.- Y2 T$ R) W( o6 b' Z1 y q( d
echo 删除完毕……
0 F: D7 x F, `+ i8 JPAUSE$ P8 z" T! x' V) R% w, H! A8 E# G
exit# [: J0 T* P6 ]6 N: @, ~
:bye
! `8 c) P7 o( Z$ x% a2 Jecho.; \# Y3 z5 i+ }7 \ W# Y% v) M
echo 程序中止,未对您的注册表做出任何改动4 t$ q4 x p, U( g! i t$ f
PAUSE( {( E" Y/ D: @( H0 ?

% S7 U& I( g* l[ 本帖最后由 北羊 于 2007-11-8 22:25 编辑 ]
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

稍改了一下,显示了都操作了哪些键,以及成功与否

不知道怎么回事,老是编辑不成功,只好再发一下@echo off
. C9 a7 \1 d/ [, f8 ^6 r4 Scolor E1* t, t+ N9 t* l- k: L6 M7 x$ f
title www.sharecenter.net/ ~' Q. i" B& `. ]
echo.( O- y& E* l. d
echo **************************************************: e; V$ Y$ j% G0 [ _
echo www.sharecenter.net
7 G7 I, K" z+ S$ ?echo 脚本天堂
0 ]5 j+ Z' o+ v% T7 ~$ d wecho **************************************************" b) N: K' o1 c0 v# W
echo 本程序将删除文件右键菜单中的print选项9 e' P2 C* ^! F; J
echo.1 N! V! ]* q- R+ g& ]4 x3 B7 g
set /p choice= 按Y确认继续,直接回车中止程序……% ?1 O+ n1 z$ ^: S9 I9 p$ D
echo.- S0 b4 Z6 b6 b
if %choice% == y goto DelPrint7 ?0 c: T! f( W/ e/ r2 Z/ k
goto bye% y _! L8 l2 d( ~7 G
:DelPrint
: W# p3 C! \5 `8 t* P# D% \1 v$ V6 becho 请稍候,正在检索注册表……
0 X2 F* D3 t! ?- Z, w4 Kreg query HKCR\ /S | FIND "\Print">a.txt
: u" u4 g6 [1 M7 b9 X. |& M5 nreg query HKCR\ /S | FIND "\print">>a.txt
0 a* ] S H' x; ]% j6 R! Cecho.
' e0 U; I7 G2 A2 m7 P2 Eecho ………………
6 d- c8 n# P# techo 检索完毕,正在删除……8 f7 K' H, m7 i) n% S8 v$ O
echo on5 }" F4 X+ y+ w
for /f " " %%i in (a.txt) do reg delete %%i /f
. }1 U( A: i( T6 |4 u* j, W" v@echo off) B* k- j$ ^& P
del a.txt
; v5 s8 O. e. a4 j9 W5 H# c& recho.
& J" o9 A& X; A' X" ^' l+ becho.
0 Y- g8 k# j4 r1 D9 Becho 删除完毕……" M) t$ V& q4 {4 v' X. j; E
PAUSE8 U/ F+ ^* ? D2 R6 L7 e
exit0 q" e9 |& k6 x
:bye9 U2 K3 C! k. Q2 ~" q% U$ H! h
echo.0 ^. i j" R9 R8 u1 l/ t6 K1 b/ n
echo 程序中止,未对您的注册表做出任何改动
1 C! V# }. b! @0 K$ j5 r5 z6 |7 h4 ^0 P( L- HPAUSE+ E. @% I5 o- G5 _ z8 v
. }. U: E3 f# M& a6 Z* h) g( v: m3 _
[ 本帖最后由 北羊 于 2007-11-9 01:55 编辑 ]
本帖最近评分记录
  • mwpq 菊花元 +10 挺实用的脚本,谢谢分享 2007-11-9 04:10
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

挺有用处的,一点儿也不无聊。看来是通过更改注册表来实现的。现在没有时间,要不然可以写一个vbs来实现了。
《无量寿经·第十八愿》言:
设我得佛,十方众生,至心信乐,欲生我国,乃至十念,若不生者,不取正觉。唯除五逆,诽谤正法。

TOP

按照楼主的思路写了一遍,运行成功了!楼主没发附件,直接复制粘贴又有附加内容,为方便大家试验,就把我的文件传上来吧,顺便把a.txt也发上来,不放心的可以先检查一下a.txt,再考虑做不做试验。没有照搬,偷懒省了一点,运行没问题。
附件: 您所在的用户组无法下载或查看附件
我是新手我怕谁,hoho......

TOP

引用:
原帖由 mwpq 于 2007-11-9 04:09 发表
0 b1 _2 V' n+ A# Q8 L挺有用处的,一点儿也不无聊。看来是通过更改注册表来实现的。现在没有时间,要不然可以写一个vbs来实现了。
. @0 m4 o* i# i' ~+ ]我正考虑写个脚本版的,您老写好先藏着,等我写好再发~~~~
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

引用:
原帖由 jovipu 于 2007-11-9 11:05 发表
" h) r6 T& ^6 y% g0 ^) P按照楼主的思路写了一遍,运行成功了!楼主没发附件,直接复制粘贴又有附加内容,为方便大家试验,就把我的文件传上来吧,顺便把a.txt也发上来,不放心的可以先检查一下a.txt,再考虑做不做试验。没有照搬,偷懒省了 ...
, P- \) O, E; s2 [5 I: y( C. J$ \
$ v. `6 _" M9 j1 ?& }& g
奇怪了,我没有设置附加内容啊? 难不成是自动加的,而本人看就没有?这,这这也太无耻了吧
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

修改版

原来搜出来就删,很多项目是已经删除掉项目的子项目,导致了无用功,现在先把搜出来的内容做了一下整理,保证删除了某项目后不会再出现它的子项目
% z$ D% Q: g! J; e/ h5 ~: ?! s0 W. @$ x
还有就是FIND其实是可以不分大小写的,加上参数/I就行了3 @% @2 p! t8 n" q$ Q3 W% V
---------------------------------------------------------------5 h% u" E* A: V% l6 j
@echo off5 \7 X, ^8 A+ }& N" G; v# C% P
color E1- R2 T% g1 Y- Z9 W1 D& K. A
title www.sharecenter.net
+ A& \ l' o5 X& z+ F3 J& }echo.! C' \" u' Y* u2 P& k6 t1 @
echo             **************************************************
; I8 {7 d, Q1 D/ X. @: E9 N. ?echo                              www.sharecenter.net
# A, r: }8 j9 ^echo                                    脚本天堂( G0 Y5 a% O* W
echo             **************************************************& B2 y$ d* E8 i" }: T% V: W
echo               本程序将删除文件右键菜单中的print选项
% I% z1 L( `2 n* g! s% |echo.! G- T3 J* M+ P. l4 F0 ?0 B
set /p choice=                    按Y确认继续,直接回车中止程序……1 b5 A, C+ x- R0 v
echo.
' \/ `+ R: @8 h4 |5 J2 Kif %choice% == y goto DelPrint* j9 ?( D% x& F
goto bye" b8 j" ?/ e" J
:DelPrint- ~/ v* P% ~# ]( U5 e O0 J
echo                         请稍候,正在检索注册表……/ c. X' v n; d( y$ ~: D
reg query HKCR\ /S | FIND /i "\print">a.txt
! X: O; T' ~4 ?3 D& creg query HKCR\ /S | FIND "\打印">>a.txt
# q8 k% M2 ]& @/ u- ifind /v "command" a.txt >b.txt. e1 Z/ v9 [2 M$ ?! v
echo.4 @! w" C2 \# m5 F+ Y
echo                                 ………………: _' @ Q% o5 O9 A: I
echo                          检索完毕,正在删除……
0 J$ X6 m; k decho on4 V. O `/ R7 u; h/ c! z
for /f "skip=2 " %%i in (b.txt) do reg delete %%i /f
! i _- K7 J5 u4 J6 o@echo off6 i1 Y9 s0 v8 P, e
del a.txt& del b.txt9 t% O7 ?8 F' t$ N- n$ p
echo.: k, B. x( I. ]/ T: c
echo.. y7 p: U2 o; t9 P# V0 X
echo                          删除完毕……
& s4 M! g. e+ o5 u3 rPAUSE
8 Q9 ~* Q4 L$ @9 K2 J$ a9 Q# M. T- oexit9 V3 }6 X5 C' `, A# j- m
:bye! l# R; z. T1 ~ [+ g5 t3 B" O
echo.
: U& q* N# ]3 E0 [: vecho                 程序中止,未对您的注册表做出任何改动
$ e8 ^- T B) E- n' u! o( @) ]. CPAUSE
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

引用:
原帖由 mwpq 于 2007-11-9 04:09 发表
! v' h2 m: Y- D! ]挺有用处的,一点儿也不无聊。看来是通过更改注册表来实现的。现在没有时间,要不然可以写一个vbs来实现了。
9 x' S/ Q1 E; P! ]( ?

9 B5 {2 K% i% B5 X" H老大,你写吧,我现在的水平还不行
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

好东西,有时间我也试试

TOP

今天我在SERVER2003上试了一下

发现SERVER2003在批处理的规范上比XP要求严格许多,重新修改了一下,可以在SERVER中执行,原来的在SERVER中执行会报错) R4 d& B8 H- X% E3 m4 q# G; G5 l
原来没有备份,现在加入了备份功能1 E2 E# v# l) J! m' G
5 @ \/ d* _6 A+ w5 w. h/ z# O
**********************************************************************************************
. ?: @- j8 B! U) G8 W@echo off
0 h# g) B! [ P; R0 t6 d% _' Q7 H/ a% ^color E1
0 @! G; p9 O6 S' S7 _. }# T" j0 Gtitle www.sharecenter.net2 v9 h E4 J/ |
echo.) r/ b4 k) x) q/ z( d; a% |
echo **************************************************
. P( C, { e+ M5 h$ Z. |echo www.sharecenter.net2 y# ?: {" S$ E
echo 脚本天堂
& u* \7 M9 ^6 Z: decho **************************************************
' z! G( V6 m4 l3 Wecho 本程序将删除文件右键菜单中的print选项
\* { j# N2 F1 Necho./ W: A2 M5 p+ V1 X( e2 P
echo 因为程序会搜索注册表根键,故需时较长,约为1~2分钟
. D6 o4 v: s' J5 Cecho 请耐心等候……
/ C! G5 J7 n/ hecho.
: H* B' C3 L, W+ S. }1 K* ]set /p choice= 按Y确认继续,直接回车中止程序……% o* Y& m ^. k- r1 c/ H Z4 ?
echo., R- Q9 T1 w. K: `7 ?: A+ c( Y, [1 b
if %choice% == y goto DelPrint# n! k- p$ D3 q% @* O7 _0 q
goto bye
, ?: l; F/ C# t7 ~* [
/ P5 n( ~. |: j2 v:DelPrint
2 D- _( a+ P2 o7 pecho 请稍候,正在备份注册表,约需一分钟……
2 S0 E# N# n# ?7 i3 t+ w; k9 J; jreg export HKCR c:\HKCR.reg5 y; g0 d4 [0 d3 E# z5 w* G
echo.
" d' o% Q( w# ?: ?5 a6 t8 Becho 请稍候,正在检索注册表,约需一分半钟……; k3 A! }5 z- w
reg query HKCR /S | FIND /i "\print">a.txt
! M; Q. @6 T4 M8 Creg query HKCR /S | FIND /i "\打印">>a.txt
1 Y' }+ e0 Z2 p8 S- z5 R. gfind /v "command" a.txt >b.txt/ K/ Y. B$ r5 a* J/ w4 f
echo.
9 d& I) W3 q6 g8 decho ………………
. K* K3 e$ t% G# Xecho 检索完毕,正在删除……
4 r( ~' X! U# j0 E! m/ c* X
8 Z2 F1 x( L% I- J9 gecho on U) t- G+ k/ y( @8 n+ d
for /f "skip=2 " %%i in (b.txt) do reg delete %%i /f
- ]; {5 s% d/ X! y6 z$ S- _@echo off
9 q- R; ?- {9 `4 u8 p& pdel a.txt & del b.txt
9 x/ B T! H4 o9 f Y, {echo.
' [* O3 E3 M3 N7 g' }echo.- f9 x% E' I' @& |/ Y% I; }
echo 删除完毕……/ b3 s( ~; x# v) _& C4 a( {/ _
PAUSE
; A ]9 I4 u5 M' I7 V# z* Q! R6 w0 z, |/ |
:bye
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

本功能由奇虎搜索实现

相关主题

标题 作者 最后发表
[站外] 远教IP数据接收指南   [转帖] 魅力嵯岗 2008-10-10
[站外] 批处理命令大全   [转帖] asp.net 2008-10-10
[站外] 学习MySQL多表操作和备份处理   [转帖] creditcard 2008-10-10
点击阅读更多关于的相关帖子  更多相关主题