使用时间戳创建备份和重命名的批处理文件

Cus*_*omX 15 windows batch-file windows-vista

我有以下网络路径将文件复制到存档文件夹.它复制File 1Folder,Archive但我想添加这两个不起作用的调整.

  1. 重命名File 1-1File 1 - date + time
  2. 现在运行它会显示带有复制代码的cmd框,是否可以在后台运行它或者有一个加载屏幕来显示进度?

对于我的代码,我按照此示例将名称更改为日期.

copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1-1.xlsx"
/f "tokens=1-5 delim s=/ " %%d in ("%date%") do rename "F:\Folder example 2.xlsx" "F:\Folder\File example %%e-%%f-%%g.xlsx"
Run Code Online (Sandbox Code Playgroud)

End*_*oro 27

试试这个:

ren "File 1-1" "File 1 - %date:/=-% %time::=-%"
Run Code Online (Sandbox Code Playgroud)


fox*_*ive 21

看看这是否是你想要做的:

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%

set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%

copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1 - %stamp%.xlsx"
Run Code Online (Sandbox Code Playgroud)

  • 6年后,我使用了它。 (2认同)

Kur*_*ngu 9

我修改了Foxidrive的答案来复制整个文件夹及其所有内容.此脚本将创建一个文件夹并将另一个文件夹的内容备份到其中,包括下面的任何子文件夹.

如果你说这是一个每小时计划的任务,你需要小心,因为你可以使用原始文件夹的副本快速填满您的驱动器.在bitbucket之前,我使用类似的脚本来保存我的代码离线.

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%

set stamp=YourPrefixHere_%YYYY%%MM%%DD%@%HH%%Min%
rem you could for example want to create a folder in Gdrive and save backup there
cd C:\YourGoogleDriveFolder
mkdir %stamp%
cd %stamp%

 xcopy C:\FolderWithDataToBackup\*.* /s 
Run Code Online (Sandbox Code Playgroud)


kro*_*owe 0

是的,要使其在后台运行,请创建批处理文件的快捷方式并进入属性。我使用的是 Linux 机器 ATM,但我相信您想要的选项位于高级选项卡中。

您还可以通过 vbs 脚本运行批处理脚本,如下所示:

'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Run Code Online (Sandbox Code Playgroud)

这将执行您的批处理文件,且不显示 cmd 窗口。