![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 13:02 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]将文件拖动到BAT或VBS图标上以后自动修改脚本内容 |
| 可打印版本 1,582 / 13 |
| 第1楼 evilangell | 发表于 2008-11-23 10:34 |
| 初级用户 发帖 32 积分 32 | |
|
[已结]将文件拖动到BAT或VBS图标上以后自动修改脚本内容 这个bat或者vbs该怎么写????
现有一个文本文件:bak.txt 内容如下: 现在我想写这样一个bak.bat或者bak.vbs 现有一个fff.exe程序, 我直接把fff.exe拖动到bak.bat或者bak.vbs图标上,然后bak.txt变成如下: 可以继续拖动其它程序到bak.bat或者bak.vbs图标上,继续有序的添加 ───────────────── 版务记录 ───────────────── 执行:HAT 操作:在帖子标题中增加搜索关键字;代码加code标签 说明:原标题"这个bat或者vbs该怎么写????"不利于论坛搜索 处罚:扣除2点积分 提示:建议阅读以下帖子 {1415}提问的智慧 {7326}论坛新手必读,所有人的基本行为准则 {22703}请不要做浮躁的人 {32667}那些连标题都写不清楚的人们啊,你们醒醒吧 {32825}本版严厉整顿烂帖 ───────────────── 版务记录 ───────────────── [ Last edited by HAT on 2008-11-24 at 02:03 ] |
|
| 第2楼 evilangell | 发表于 2008-11-23 12:18 |
| 初级用户 发帖 32 积分 32 | |
|
谢谢HAT提醒,下次改正
|
|
| 第3楼 tireless | 发表于 2008-11-23 16:00 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
建议换一下方法。
拖入任意个数的文件到以下批处理上,每次拖入文件后,会修改 bak_行数.txt 的文件名中的行数数字,“行数”与 bak_行数.txt 文本中最后一行的行数对应,这样下次拖入文件时方便读取行数: 如要把 bak_行数.txt 中的内容添加到 Tmp.reg 中,执行这条命令: START /wait regedit /s "%Temp%.\Tmp.reg" 这一句另外来执行,加到文本中太费事了。 |
|
| 第4楼 evilangell | 发表于 2008-11-23 22:51 |
| 初级用户 发帖 32 积分 32 | |
|
谢谢LS的朋友
其实最初的问题是这样的: 原先的那个bak.txt本来就是个BAT文件,是我提问时故意改的 源文件如下(名称为: Restrict受限.bat ): @cls&@echo.&@color f3&@cd..\&@cls > "%Temp%.\Tmp.reg" ECHO Windows Registry Editor Version 5.00 >>"%Temp%.\Tmp.reg" ECHO. >>"%Temp%.\Tmp.reg" ECHO [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] >>"%Temp%.\Tmp.reg" ECHO. >>"%Temp%.\Tmp.reg" ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] >>"%Temp%.\Tmp.reg" ECHO "1"="regedit.exe" >>"%Temp%.\Tmp.reg" ECHO "2"="regedt32.exe" >>"%Temp%.\Tmp.reg" ECHO "3"="cmd.exe" >>"%Temp%.\Tmp.reg" ECHO "4"="rundll32.exe" >>"%Temp%.\Tmp.reg" ECHO "5"="smagent.exe" >>"%Temp%.\Tmp.reg" ECHO "6"="shell32.dll" >>"%Temp%.\Tmp.reg" ECHO "7"="msconfig.exe" >>"%Temp%.\Tmp.reg" ECHO "8"="mspaint.exe" >>"%Temp%.\Tmp.reg" ECHO "9"="shutdown.exe" >>"%Temp%.\Tmp.reg" ECHO "10"="hh.exe" >>"%Temp%.\Tmp.reg" ECHO "11"="IEXPLORE.EXE" >>"%Temp%.\Tmp.reg" ECHO. >>"%Temp%.\Tmp.reg" ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] >>"%Temp%.\Tmp.reg" ECHO "RestrictRun"=dword:00000001 @START /wait regedit /s "%Temp%.\Tmp.reg" @ping -n 2 127.0.0.1 > nul @gpupdate.EXE /force > nul @ping -n 2 127.0.0.1 > nul @DEL "%Temp%.\Tmp.reg" 如果有个程序比如是OK.EXE拖进来到这个 Restrict受限.bat 里,或者tireless建的BAT文件中,则 Restrict受限.bat 内容变成如下: @cls&@echo.&@color f3&@cd..\&@cls > "%Temp%.\Tmp.reg" ECHO Windows Registry Editor Version 5.00 >>"%Temp%.\Tmp.reg" ECHO. >>"%Temp%.\Tmp.reg" ECHO [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] >>"%Temp%.\Tmp.reg" ECHO. >>"%Temp%.\Tmp.reg" ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] >>"%Temp%.\Tmp.reg" ECHO "1"="regedit.exe" >>"%Temp%.\Tmp.reg" ECHO "2"="regedt32.exe" >>"%Temp%.\Tmp.reg" ECHO "3"="cmd.exe" >>"%Temp%.\Tmp.reg" ECHO "4"="rundll32.exe" >>"%Temp%.\Tmp.reg" ECHO "5"="smagent.exe" >>"%Temp%.\Tmp.reg" ECHO "6"="shell32.dll" >>"%Temp%.\Tmp.reg" ECHO "7"="msconfig.exe" >>"%Temp%.\Tmp.reg" ECHO "8"="mspaint.exe" >>"%Temp%.\Tmp.reg" ECHO "9"="shutdown.exe" >>"%Temp%.\Tmp.reg" ECHO "10"="hh.exe" >>"%Temp%.\Tmp.reg" ECHO "11"="IEXPLORE.EXE" >>"%Temp%.\Tmp.reg" ECHO "12"="OK.EXE" >>"%Temp%.\Tmp.reg" ECHO. >>"%Temp%.\Tmp.reg" ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] >>"%Temp%.\Tmp.reg" ECHO "RestrictRun"=dword:00000001 @START /wait regedit /s "%Temp%.\Tmp.reg" @ping -n 2 127.0.0.1 > nul @gpupdate.EXE /force > nul @ping -n 2 127.0.0.1 > nul @DEL "%Temp%.\Tmp.reg" 因为每次手工添加太麻烦,所以才萌生拖进来自动添加的念头 |
|
| 第5楼 evilangell | 发表于 2008-11-23 22:57 |
| 初级用户 发帖 32 积分 32 | |
|
因为小弟对BAT高级应用不是很懂,所以再请tireless兄,出手帮忙
|
|
| 第6楼 evilangell | 发表于 2008-11-23 23:58 |
| 初级用户 发帖 32 积分 32 | |
|
恩,非常感谢,最好能去掉路径
|
|
| 第7楼 tireless | 发表于 2008-11-24 00:05 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
注: ① 最后一行要为空行。 ② 如果要在 Windows Registry Editor Version 5.00 前面增加或删除代码行,则要修改此句的红色数字: more +23 %0>"%Temp%.\Tmp.reg" 这个数字就是 Windows Registry Editor Version 5.00 前面的行数。 |
|
| 第8楼 tireless | 发表于 2008-11-24 00:07 |
| 银牌会员 发帖 1,122 积分 2,025 | |
Originally posted by evilangell at 2008-11-23 11:58 PM: 哪个路径? |
|
| 第9楼 evilangell | 发表于 2008-11-24 00:12 |
| 初级用户 发帖 32 积分 32 | |
|
谢谢朋友
经测试,发现如下问题: 1.我想去掉路径 2.只能添加到19个,再继续添加时,又变成了从第10个开始了 |
|
| 第10楼 evilangell | 发表于 2008-11-24 00:14 |
| 初级用户 发帖 32 积分 32 | |
|
@echo off
if "%~1" neq "" goto add more +23 %0>"%Temp%.\Tmp.reg" START /wait regedit /s "%Temp%.\Tmp.reg" ping -n 2 127.0.0.1 > nul gpupdate.EXE /force > nul ping -n 2 127.0.0.1 > nul DEL "%Temp%.\Tmp.reg" exit /b :add cd /d "%~dp0" for /f "delims==" %%a in ('findstr ^^\"[0-9].*\" %0^|sort /r') do ( set "n=%%~a" & goto next ) :next for %%a in (%*) do ( set /a n+=1 >>%0 call echo "%%n%%"="%%~a" ) exit /b Windows Registry Editor Version 5.00 [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] "1"="regedit.exe" "2"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\AnyDel.bat" "3"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\IP自动设置.lnk" "4"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\NTFS文件锁定程序.bat" |
|
| 第11楼 evilangell | 发表于 2008-11-24 00:29 |
| 初级用户 发帖 32 积分 32 | |
|
就是想把文件所在的路径去掉
|
|
| 第12楼 evilangell | 发表于 2008-11-24 00:37 |
| 初级用户 发帖 32 积分 32 | |
|
经多次测试,也不一定是19个,有时会出现两个一模一样的
如下: "8"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\防盗版黑屏.bat" "9"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\手工迁移个人资料.bat" "10"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\文件(S).bat" "11"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\regedit.exe" "12"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\Restrict受限.jpg" "10"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\AnyDel.bat" "11"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\IP自动设置.lnk" "12"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\NTFS文件锁定程序.bat" "13"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\Restrict生效.bat" "14"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\Restrict生效.exe" "15"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\Restrict受限(安全版).bat" "16"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\UnRestrict.bat" "17"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\防盗版黑屏.bat" "18"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\手工迁移个人资料.bat" "19"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\文件(S).bat" "20"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\regedit.exe" "21"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\Restrict受限.jpg" "10"="C:\Documents and Settings\Administrator\桌面\Restrict+BAT\AnyDel.bat" |
|
| 第13楼 tireless | 发表于 2008-11-24 00:42 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
改了一下,再试试: [ Last edited by tireless on 2008-11-24 at 00:44 ] |
|
| 第14楼 evilangell | 发表于 2008-11-24 00:49 |
| 初级用户 发帖 32 积分 32 | |
|
经测试,未发现问题,非常感谢朋友
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |