用于复制文件夹的批处理脚本无效

时间:2014-09-19 01:13:51

标签: windows batch-file cmd robocopy

我希望设置一个批处理文件,将文件夹(从批处理文件的同一位置)复制到C:\ Users \ username \ AppData \ Roaming中的Microsoft文件夹,以供Outlook用于电子邮件签名。

批处理文件目前看起来像:

@echo off

ROBOCOPY \Files "%userprofile%\AppData\Roaming\Microsoft" /COPYALL /MIR
regedit.exe /s Setup-File-Linking.reg

它可以很好地导入注册表设置,但不会复制“签名”文件夹。

我的源路径错误。如何使其相对于运行脚本的位置?

在运行批处理文件的文件夹中,文件结构如下所示:

FOLDER
|- Run Me!.bat
|- Setup-File-Linking.reg
|- Files *(dir)*
   |- Signatures *(dir)*
      |- emailsignature.htm
      |- emailsignature.rtf
      |- emailsignature.txt
      |- emailsignature_files *(dir)*
         |- colorschememapping.xml
         |- filelist.xml
         |- themedata.thmx
___

---编辑---

我在脚本末尾添加了pause以查看错误。 屏幕截图如下。我已经编辑了上面的问题以适应。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试将/ S选项添加到ROBOCOPY命令。 见ROBOCOPY /?

用"%CD%\ Files"替换源(\ Files) 我想你还需要/ S

2014年9月19日新增 要验证用户是否具有管理员权限,您可以执行以下操作。

REM Do OPENFILES to verify that user has administrative privileges
OPENFILES >nul 2>nul
IF ERRORLEVEL 1 (
  COLOR CF
  ECHO.You must run this program as administrator
  PAUSE
  GOTO :eof
  )