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

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

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

:: 设置源文件夹
set "source_folder=C:\source\folder"
:: 设置目标文件夹,以年月日生成的目标文件夹将放在destination_parent下
set "destination_parent=C:\destination\parent"

:: 进入主循环。
:LOOP
set "datestamp=%date:~0,4%%date:~5,2%%date:~8,2%"

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

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

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

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

:: 在下一次检查源文件夹之前暂停脚本执行 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 快捷方式:

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

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

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值