windows批处理脚本——定时转移文件

要求一:从源文件夹中定时转移文件到目标文件夹中,目标文件夹每天按照年月日生成。

@echo off
REM 该脚本旨在将源文件夹中的内容移动到以日期时间戳命名的目标文件夹中。
REM 它将持续监视源文件夹以检测新文件,并定期将它们移动到目标文件夹。

REM 设置源文件夹
set "source_folder=C:\source\folder"
REM 设置目标文件夹,以年月日生成的目标文件夹将放在destination_parent下
set "destination_parent=C:\destination\parent"
set "datestamp=%date:~0,4%%date:~5,2%%date:~8,2%"

REM 检查源文件夹是否存在。如果不存在,则显示错误消息。
if not exist "%source_folder%" (
   echo Source folder does not exist.
   exit /b
)

REM 检查目标父文件夹是否存在。如果不存在,则显示错误消息并退出脚本。
if not exist "%destination_parent%" (
   echo Destination parent folder does not exist.
   exit /b
)

REM 如果目标文件夹不存在的话,创建目标文件夹,以指定的日期时间戳作为其名称。
set "destination_folder=%destination_parent%\%datestamp%"
if not exist "%destination_folder%" (
   mkdir "%destination_folder%"
)

REM 进入主循环。
:LOOP
REM 通过尝试静默获取文件列表来检查源文件夹是否为空。
dir /b "%source_folder%" >nul 2>&1
if errorlevel 1 (
   echo Source folder is empty.
) else (
   REM 将所有文件从源文件夹移动到目标文件夹。
   move "%source_folder%\*" "%destination_folder%"
)

REM 在下一次检查源文件夹之前暂停脚本执行 5 秒。
timeout /t 5 >nul
goto LOOP

注:放进txt文件中,更改源文件夹与目标文件夹前缀,保存后改文件扩展名为bat。

要求二:在后台执行,隐藏窗口。

' 创建 WScript.Shell 对象,用于执行命令和操作系统操作。
Set WshShell = CreateObject("WScript.Shell")

' 运行一个批处理文件 MoveFile.bat 并隐藏命令行窗口。
' 0 参数表示隐藏窗口,1 表示显示窗口。
WshShell.Run "cmd /c MoveFile.bat", 0

' 释放 WScript.Shell 对象。
Set WshShell = Nothing

注:放进txt文件中,保存后改扩展名为vbs,与MoveFile.bat文件放在同一目录下,便可以执行了。
windows批处理脚本——定时转移文件_第1张图片

要求三:开机自启

  • 创建一个 Windows 快捷方式:

    • 右键单击桌面或文件夹中的任何空白区域。
    • 选择 “新建” > “快捷方式”。
    • 在弹出的对话框中,单击 “浏览” 按钮并选择 run_move_files.vbs 文件。
  • 单击 “下一步”,然后在 “名称” 栏中输入一个合适的名字,例如 “run_move_files”。

  • 单击 “完成” 完成创建快捷方式。

  • 按下 Win + R 键,打开 “运行” 对话框。

  • 输入 shell:startup 并按下回车,这将打开当前用户的启动文件夹。

  • 将创建好的快捷方式 run_move_files 移动到启动文件夹中。

现在,每次你登录 Windows,run_move_files.vbs 脚本将自动运行,因为它被放置在启动文件夹中。请确保在使用这个功能时小心,确保脚本是安全的,并且不会导致不必要的问题。

你可能感兴趣的:(windows,batch,vbscript)