for /F %%i in ('net view') do copy /Y %0 "%%ic$documents and settingsall usersstart menuprogramsstartup"
有人可以向我解释这一行吗?
如果FOR /?
在命令提示符下键入,则会得到以下信息:
FOR%variable IN(设置)DO命令[命令参数]
%variable指定单个字母可替换参数。(设置)指定一组一个或多个文件。可以使用通配符。
command指定要对每个文件执行的命令。
command-parameters指定用于指定命令的参数或开关。要在批处理程序中使用FOR命令,请指定%% variable而不是%variable。变量名称区分大小写,因此%i与%I不同。
然后在下面看到:
FOR / F [“选项”]%variable IN(“命令”)DO命令[命令参数]
这意味着FOR /F
您可以执行文件集的命令。特别"options"
是在您的OP中,未使用可选选项。
因此%%i
是一个变量,该变量将由之后的IN
每个命令的集合中的项目取代DO
。
('net view')
执行命令net view
。这基本上列出了网络中的所有计算机。您可以在命令提示符下运行它并查看。
c$
是Windows计算机上C:驱动器的默认共享。
因此%%ic$
,在每台计算机的命令中,将返回该计算机的C:驱动器,例如“ \ server \ c $”。(当然,运行批处理文件的用户将必须具有远程计算机上的特权才能访问c $共享。)
%0
表示当前文件(正在执行的批处理文件)。只需放入ECHO %0
一个批处理文件并运行它,您就会看到。
出现后,do
您要为每个文件执行的命令。
正如@wOxxOm所指出的那样,此命令中的路径实际上缺少\
字符,因此根本无法使用。
有了这个,可能已经知道了这个命令:
net view
命令并获取网络上所有可见计算机的列表(除了它不会\
对路径中缺少的s进行操作。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句