Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何将一个文件复制到C:\Users中所有应用程序数据目录中的特定子目录?_File_Batch File_Directory_Copy - Fatal编程技术网

File 如何将一个文件复制到C:\Users中所有应用程序数据目录中的特定子目录?

File 如何将一个文件复制到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

我正在尝试将一个文件复制到一个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\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/?

感谢Mofi的解释和代码。我测试了一下,效果非常好。