我正在尝试创建一个批处理文件,用于创建具有今天日期的文件夹,然后将三个文件复制到该文件夹中。我通过谷歌搜索不同的解决方案将这些拼凑在一起,但我已经达到了理解的极限。如上所述,该文件创建文件夹,如果我替换?????将复制文件有一个文件夹,但我不知道如何引用我之前创建的文件夹。我寻找解决方案,但老实说,我没有找到任何我能够成功实施的解决方案。非常感谢任何帮助。
@echo off
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do mkdir c:\Users\HP-ALT\Desktop\databasebackups\%%e-%%f-%%g
move C:\Users\HP-ALT\Desktop\anyfile1.db C:\Users\HP-ALT\Desktop\databasebackups\???????
move C:\Users\HP-ALT\Desktop\anyfile2.db C:\Users\HP-ALT\Desktop\databasebackups\???????
move C:\Users\HP-ALT\Desktop\anyfile3.db C:\Users\HP-ALT\Desktop\databasebackups\???????
答案 0 :(得分:0)
只使用变量......:
for /f "tokens=1-5 delims=/ " %%d in ("%date%") (
SET DayMonth=%%e
SET MonthDay=%%f
SET Year=%%g
)
然后使用这些变量创建目录和副本文件
答案 1 :(得分:0)
这应该可以帮助你
@Echo Off
SetLocal
Set "parentPath=C:\Users\HP-ALT\Desktop\databasebackups"
Set "Today=%Date~-10%"
Set "newDirName=%Today:/=-%"
If Not Exist "%parentPath%\%newDirName%\" (
MD "%parentPath%\%newDirName%"2>Nul||Exit/B)
Move…
答案 2 :(得分:0)
最好使用WMIC实用程序来提取年,月和日期信息,因为%date%返回当前日期格式化为Windows短格式日期定义的区域设置,如果当前安装可能会遇到麻烦将短日期格式设置为与YYYY-MM-DD不同的格式。
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC ^Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
IF %%A GTR 0 (
SET Day=%%A
SET Hour=%%B
SET Min=%%C
SET Month=%%D
SET Sec=%%E
SET Year=%%F
)
)
if %Month% LSS 10 set Month=0%Month%
if %Day% LSS 10 set Day=0%Day%
if %Min% LSS 10 set Minute=0%Minute%
if %Hour% LSS 10 set Hour=0%Hour%
set now=%year%-%month%-%day%_%hour%-%min%-%sec%
set now=%now%
mkdir %now%