0

我正在尝试通过记事本制作批处理文件,以从根本上自动化将文件从驱动器移动到驱动器的过程。

我的目标是将文件从我的 H 驱动器移动到我的 A 驱动器,H:\Arco\examplefile.csv\A:\DSE\Open_Access_Data\ARCo.

如果可能的话,我还想自动化这项工作,使其每 30 分钟运行一次。但是,如果我需要通过单击它来完成它,那就这样吧。到目前为止,我所做的只是将文件复制到我的桌面。我似乎无法让它在我的目录之间移动。

COPY H:\dehpc14_Disk_Quota_Report.csv %userprofile%\Desktop
4

2 回答 2

1

这应该有效:

:LOOP
copy H:\Arco\examplefile.csv A:\DSE\Open_Access_Data\ARCo /y
timeout /t 1800
goto :LOOP

这将每 30 秒复制一次文件并覆盖所有现有文件。

注意:该timeout命令仅适用于 Vista 及以上版本,如果您需要在 XP 上使用此命令,请告诉我。

要在系统启动时启动批处理文件,您可以将其放在用户的启动文件夹中或使用注册表。

当前用户的启动文件夹是

C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

对于所有用户

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

或者您可以使用我个人喜欢的注册表。使用批处理文件的路径创建一个字符串值

当前用户

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

计算机用户

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

不过,这两个注册表选项都需要管理员权限。

分别批量启动或注册

copy %0 "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /y

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "MyBatchFile" /d "%0" /f

它将在每次运行时将自身复制到启动或将自身添加到注册表中。因此,您可以手动执行此操作,也可以在您第一次运行时让它自己执行此操作(上述命令)。

%0是批处理文件自己的路径,如果您想从其他地方使用命令,或者只是从 cmd 输入批处理文件的完整路径。

于 2012-06-25T14:32:10.677 回答
0

在 Unix 中使用像cron这样的命令来设置一个定时间隔来运行像你的自动副本这样的程序。请参阅 Stack Overflow 问题什么是 Windows 版本的 cron?用于 Windows 的类似 cron 的版本。

从一个驱动器复制到另一个用途

copy filepath1 filepath2

你在哪里,filepath1你在哪里。H:\path-to-filefilepath2A:\path-to-file

于 2012-06-25T14:13:00.620 回答