使用 YYYYMMDD 日期作为文件夹名称在多个目录中创建文件夹的脚本

使用 YYYYMMDD 日期作为文件夹名称在多个目录中创建文件夹的脚本

每天早上上班时,我必须YYYYMMDD在网络上的不同目录中为各个部门创建多个文件夹(使用日期格式作为文件夹名称)。这真的很麻烦,而且浪费时间,我想让这个过程自动化。所以我的问题是:

有谁知道我如何编写一个脚本,使用当前系统日期格式YYYYMMDD,并在不同的网络目录中创建多个文件夹,每个文件夹都以日期格式命名YYYYMMDD

提前感谢您的回答。

答案1

创建一个如下所示的批处理文件:

@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%

mkdir \\server1\share1\subdir1\%yyyymmdd%
mkdir \\server1\share2\subdir2\%yyyymmdd%
mkdir \\server2\share3\subdir3\%yyyymmdd%
...

警告:日期格式(yyyymmdd=%%k%%j%%i)取决于您的区域设置。因为我使用法语日期格式 (dd/mm/yyyy),所以我必须使用“%%k%%j%%i“格式为 (%%i = 日,%%j = 月,%%j = 年)。

如果您的区域设置设为美国风格 (mm/dd/yyyy),您应该使用“%%k%%i%%j“(%%i = 月,%%j = 日,%%j = 年)。


如果您还想包括时间,请使用以下命令:

@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%
for /F "tokens=1-3 delims=: " %%i in ('echo %time%') do set hhmmss=%%i%%j%%k
echo Time: %hhmmss%

mkdir \\server1\share1\subdir1\%yyyymmdd%%hhmmss%

日期存储在变量中%yyyymmdd%,时间存储在中%hhmmss%。日期的备注与上文相同,不适用于时间。

您可以在日期和时间之间使用分隔符:%yyyymmdd%_%hhmmss%例如。

答案2

另一种更丑陋但更灵活的方法是为每个需要创建的目录生成一个单独的批处理文件,该文件 (a) 创建目录并 (b) 将下一个需要执行的批处理文件重命名为先前选择的通用名称。您只需每天运行一个具有该通用名称的批处理文件

答案3

尝试以下选项:

set name=%date%
set name2=%name:~6,4%-%name:~3,2%-%name:~0,2%
set tm=%time%
set name3=%tm:~0,2%-%tm:~3,2%
set finname=%name2%_%name3%
mkdir \\Server\Share1\Subfolder1\%finname%

相关内容