【发布时间】:2014-11-04 01:22:59
【问题描述】:
再次提前感谢您的帮助。 我发表了另一篇关于脚本的帖子,但由于它们是不同的问题,我不想将它们结合起来。
所以我想制作一个在我连接 USB 时运行的 Autorun.inf 文件。 USB 将以“只读”状态启动。 我的脚本将在 USB 上,基本上会运行一个命令来使用 diskpart 清除只读属性,然后它会找到一个指定的路径。 然后它将指定路径的所有内容复制到 USB 上。 完成后,它将运行 diskpart 以再次将属性设置为只读。 最后,它会将注册密钥设置为禁用 USB 自动播放,因此其他 USB 无法连接到机器。
我已经编写了所有脚本,一切正常...但我想知道是否可以使用 VBS 甚至普通批处理将它们组合成一个文件。
我的脚本如下。
@echo
diskpart.exe /s C:\Users\Jarryd\Desktop\clear.txt
set source=C:\Users\Jarryd\Desktop\Backup\IRIS
set destination=E:\IRIS
xcopy %source% %destination% /y
timeout 5
set source=C:\Users\Jarryd\Desktop\Backup\Face
set destination=E:\Face
xcopy %source% %destination% /y
diskpart.exe /s c:\Users\Jarryd\Desktop\set.txt
pause
提供 diskpart.exe 命令的 2 个文本文件
清除属性
Select Disk 1
attributes disk clear readonly
设置属性
Select Disk 1
attributes disk clear readonly
最后是禁用 USB 自动播放的脚本
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR]
"Start" = dword:00000004
我使用 vbs 脚本运行 reg key 脚本,使其隐藏。
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "regedit /s C:\Users\John\Desktop\ClosePorts.reg" ,1 ,True
Set WshShell = Nothing
所以是的,基本上所有这些都放入 1 个 vbs 脚本或任何脚本都会很棒。
提前致谢
【问题讨论】:
-
好的,您遇到的问题是什么?要回答你的问题,是的,用 VBScript 做这些事情当然是可能的。你有没有尝试过?如果是,你被困在哪里?如果没有,为什么不呢?
-
我只是不知道如何将脚本转换为 VBScript 语言。这就是我所坚持的。如您所见,我只是使用 VBScript 来运行我的文件,因为这是一项简单的任务。我不知道如何将它们全部合二为一。另一方面,我看到 AUTORUN.INF 在 win 7 和 8 中不起作用
-
如果您不了解 VBScript 并且您有一个可用的批处理脚本版本,为什么要切换? (“这无论如何都不会在现代版本的 Windows 中工作” 问题是我要提到的下一件事......)
-
我只是认为如果我使用一个脚本而不是多个脚本会更实用。但我确实明白你的意思......
-
不要误会我的意思,一定要学习如何使用 VBScript,一次一个子任务。复制文件、启动进程、设置注册表项,所有这些都是可能的。有大量关于如何在 VBS 中执行这些操作的教程和示例。但是在 StackOverflow 上放置一堆 BAT 代码以及“请帮我将其翻译成 VBS”并不是这个网站的运作方式。 :) 努力,花一天时间阅读和尝试,然后带着具体问题回来。 (不过,您的目标解决方案可能不适用于 Win8,这完全是另一回事。)