在日常工作中,我们经常会遇到需要批量创建文件夹的任务,为了提高效率,我们可以利用批处理脚本来实现自动化操作。在本文中,我们将介绍一个简单实用的批处理脚本,用来创建带有日期和时间戳的文件夹。
首先,打开一个文本编辑器,将以下代码复制到文本文件中:
```batch
@echo off
chcp 65001
setlocal enableextensions
set target_folder=%~dp0
echo %target_folder%
for /f "tokens=1-5 delims=/ " %%a in ('echo %date% %time%') do set foldername=%%a-%%b-%%c-%%d-%%e
for /f "tokens=1-5 delims=/ " %%a in ('echo %date% %time%') do set foldername2=%%b-%%c-%%d-%%e
for /f "tokens=1-5 delims=/ " %%a in ('echo %date% %time%') do set foldername3=%%c-%%d-%%e
for /f "tokens=1-5 delims=/ " %%a in ('echo %date% %time%') do set foldername4=%%d-%%e
for /f "tokens=1-5 delims=/ " %%a in ('echo %date% %time%') do set foldername5=%%e
for /f "tokens=1-5 delims=/ " %%a in ('echo %date% %time%') do set foldername6=%%b-%%c-%%d
echo %target_folder%
echo %foldername%
echo %foldername2%
echo %foldername3%
echo %foldername4%
echo %foldername5%
echo %foldername6%
rem 判断新建文件夹是否存在,如果不存在则直接创建
if not exist %target_folder%\%foldername6% (
mkdir %target_folder%\%foldername6%
echo 文件夹 %foldername6% 创建成功!
pause
) else (
rem 如果存在,则循环添加数字后缀,直到新建的文件夹名称不存在为止
set suffix=1
:loop
set folder_name=%foldername6%-%suffix%
if exist %target_folder%\%folder_name% (
set /a suffix+=1
goto :loop
) else (
mkdir %target_folder%\%folder_name%
echo 文件夹 %folder_name% 创建成功!
pause
)
)
endlocal
```
保存文件并将其扩展名更改为.bat,例如:create_folder.bat。
该批处理脚本的工作原理如下:
1. 设置批处理脚本的字符编码为UTF-8,确保可以正确处理中文字符。
2. 获取脚本所在的目录,并将其赋值给`target_folder`变量。
3. 获取当前日期和时间,并按指定格式组合成文件夹名称。
4. 判断是否存在以当前日期为名称的文件夹,如果不存在,则直接创建该文件夹。
5. 如果已存在以当前日期为名称的文件夹,则循环添加数字后缀(-1、-2、-3...),直到找到一个可用的文件夹名称。
6. 创建新的文件夹并显示成功提示。
现在,你只需双击运行这个批处理文件,就可以自动创建一个带有日期和时间戳的文件夹。如果该文件夹已存在,则会自动添加数字后缀以区分不同版本的文件夹。
希望这个简单实用的批处理脚本对你有所帮助!如有任何问题或意见,请随时留言。感谢阅读!
参考链接:
[1] 文本编辑器软件 - [Notepad++](https://notepad-plus-plus.org/downloads/)
[2] 批处理脚本语法教程 - [批处理脚本入门教程](https://www.runoob.com/batch/batch-tutorial.html)