File 如何将一个文件复制到C:\Users中所有应用程序数据目录中的特定子目录?
我正在尝试将一个文件复制到一个Windows 7 x64File 如何将一个文件复制到C:\Users中所有应用程序数据目录中的特定子目录?,file,batch-file,directory,copy,File,Batch File,Directory,Copy,我正在尝试将一个文件复制到一个Windows 7 x64 C:\users\profilename\AppData\Roaming\Autodesk\AutoCAD 2011\R18.1\enu\Plotters 我希望批处理将此文件以静默方式复制到客户端PC上存在的所有用户配置文件,而无需任何提示 到目前为止,我尝试的代码没有成功: @echo off xcopy /I /Y "%~dp0myfile.pc3" "C:\Users\*\Appdata\Roaming\Autodesk\Aut
C:\users\profilename\AppData\Roaming\Autodesk\AutoCAD 2011\R18.1\enu\Plotters
我希望批处理将此文件以静默方式复制到客户端PC上存在的所有用户配置文件,而无需任何提示
到目前为止,我尝试的代码没有成功:
@echo off
xcopy /I /Y "%~dp0myfile.pc3" "C:\Users\*\Appdata\Roaming\Autodesk\AutoCAD 2011\R18.1\enu\Plotters"
有没有关于如何使用批处理文件执行此操作的想法?不能在文件夹路径中使用通配符。Windows命令解释器确实支持这一点 您可以使用以下代码:
@echo off
setlocal EnableExtensions
set "TargetPath=AppData\Roaming\Autodesk\AutoCAD 2011\R18.1\enu\Plotters"
rem Get path of folder containing the users' profile folders.
for /F %%I in ("%PUBLIC%") do set "UsersFolder=%%~dpI"
rem Copy file into a subdirectory of each non standard user profile folder.
for /D %%I in (%UsersFolder%*) do (
if /I not "%%I" == "%PUBLIC%" (
if /I not "%%~nxI" == "Default" (
if not exist "%%I\%TargetPath%\*" md "%%I\%TargetPath%"
copy /B /Y "%~dp0myfile.pc3" "%%I\%TargetPath%\" >nul
)
)
)
endlocal
此批处理代码跳过子文件夹Default
和Public
当然,此批处理文件必须以管理员身份运行,否则该文件只能复制到%APPDATA%\Autodesk\AutoCAD 2011\R18.1\chs\Plotters
,即当前用户帐户的AutoCAD 2011应用程序数据目录中的相应子目录
要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面
复制/?
echo/?
endlocal/?
获取/?
如果/?
md/?
rem/?
设置/?
setlocal/?