for /F %%i in ('net view') do copy /Y %0 "%%ic$documents and settingsall usersstart menuprogramsstartup"
有人可以解释这一批批给我吗?有人可以解释这一批批给我吗?
for /F %%i in ('net view') do copy /Y %0 "%%ic$documents and settingsall usersstart menuprogramsstartup"
有人可以解释这一批批给我吗?有人可以解释这一批批给我吗?
如果在命令提示键入FOR /?
,则得到:
FOR%变量IN(组)DO命令[命令参数]
%变量指定一个单一的字母替换的参数。 (set) 指定一组一个或多个文件。可以使用通配符。
command指定要为每个文件执行的命令。
命令参数 指定指定命令的参数或开关。要在批处理程序中使用FOR命令,请指定变量%%变量%。变量名称区分大小写,所以%i与%I的 不同。
然后下面你看到这一点:
FOR/F [ “选项”]%IN( '命令')可变DO命令[命令参数]
这意味着FOR /F
允许您为文件集执行命令。特别是在您的OP中,不使用可选的"options"
。
因此%%i
是一个变量,被DO
后面的每个命令的IN
之后的集合中的项取代。
('net view')
执行命令net view
。这基本上列出了网络中的所有计算机。您可以在命令提示符下运行它并查看。
c$
是Windows计算机上C:驱动器的默认共享。
因此%%ic$
在每台计算机的命令中将返回该计算机的C:驱动器,如“\ server \ c $”。 (当然运行批处理文件的用户必须在远程计算机上拥有访问c $共享的权限。)
%0
表示当前文件(正在执行的批处理文件)。只需将ECHO %0
放入批处理文件中,然后运行它即可看到。
在do
之后出现要为每个文件执行的命令。
如上面@wOxxOm指出的那样,此命令中的路径实际上缺少\
字符,所以它根本不起作用。
有了这个可能已经想通了,这个命令:
net view
命令,并得到所有计算机的网络(除了它不会与\
■从路径缺少做到这一点。)
你有试过Google吗? http://ss64.com/nt/for_f.html – jack3694078
批处理文件正在将其自身复制到net view命令查找到的每台计算机。一种自我传播的蠕虫。 – Squashman
“%% ic $ documents and settingsall usersstart menuprogramsstartup”这行代码是什么引用的?什么目录? –