如何使用Windows批处理文件命令自动执行重复任务

在Windows成为我们最喜​​欢的GUI之前,一切都使用命令完成。我们的一些读者可能还记得使用MS-DOS命令来完成最小的任务。这些天来,您仍然可以使用命令来自动化任务并提高生产率。

如果您有许多繁琐且重复的任务,则批处理文件完全就是您要执行的任务。重新寻找。代替手动执行任务,可以编写单个批处理文件来处理所有事情。

基础知识:创建批处理文件

批处理文件以纯文本形式编写。您可以使用任何喜欢的纯文本编辑器,但是标准化的记事本可以很好地完成工作。如果您要创建非常复杂的程序,那么拥有Notepad ++的其他功能可能会很方便,但是对于我们的示例,我们将坚持我们所知道的。

提供的每个示例批处理文件都已使用进行了测试。记事本。输入完命令后,我们将转到另存为,并为文件指定一个适当的名称。保存后,我们可以将文件扩展名从 .txt 更改为 .bat ,然后按 Enter 。您应该注意到文件图标立即变为带有嵌齿轮的应用程序窗口。

您可以自动化的任务

以下是一些非常有用的批处理命令供您使用,并且一些简短的描述,每个命令的语法和参数可以做什么。

这将使您单击一下即可启动多个程序。首先,确定要同时打开的程序或文件。在这种情况下,我将打开Chrome(正在使用的Word文件)和VMware Player。

打开一个新的文本文件,然后键入:

@echo off
cd "C:\Program Files\Google\Chrome\Application\"
start chrome.exe
start – "C:\Program Files\Microsoft Office\Office15\WINWORD.EXE"
"C:\Work\MUO\How to Batch Rename.docx"

我们在这里使用的命令是:

  • @echo 当前正在命令外壳中执行的命令。我们已关闭此
  • cd 更改目录
  • 开始显然,启动程序
  • 我们还可以使用批处理文件删除早于用户设置的天数的文件。只要它们符合批处理文件中的规范,就可以用来删除一个特定的文件类型或文件夹中的一组文件。我们的第一个示例将删除指定文件夹中超过三天的文件:

    forfiles /p "C:\some\file\name\here" /s /m * /d -3 /c "cmd /c del @path"

    我们的第二个示例将仅删除扩展名为.docx且又超过三天的文件:

    forfiles /p "C:\some\file\name\here" /s /m * .docx /d -3 /c "cmd /c del @path"

  • forfiles 允许我们在一个位置对每个文件使用命令,即命令将应用于适合命令参数的每个文件
  • / p 详细说明了开始搜索的路径,即您要从中删除文件的目录
  • / s 指示命令搜索子目录
  • / m ,指示命令使用给定的搜索掩码。我们在第一个示例中使用通配符“ *" ,并在第二个示例中使用 .docx
  • / d-3 是时间设置。根据您的要求增加或减少
  • / c del @path 是命令的删除方面
  • 我们可以使用批处理文件来备份特定文件夹,或者作为更广泛的备份操作的一部分。大多数人都将备份和系统还原点设置为标准配置,但有时需要复制一些副本(如果删除后可能会使您哭泣),这是值得的。我将向您展示一种非常简单的方法,以及另一种更为高级的版本。

    方法#1

    打开记事本。按照说明键入以下内容:

    @echo off
    ROBOCOPY C:\your\filename\goes\here C:\your\backup\location\goes\here /LOG:backuplog.txt
    pause

    保存文件,然后重命名为systembackup.bat,然后按 Enter

    此方法在备份单个文件夹时效果很好,但是对于更复杂的事情并不完全实用。此处使用的命令是:

  • ROBOCOPY 代表“健壮的文件复制",当Windows Vista发布时已被替换
  • 方法2 >

    这一次,我们将建立我们要备份,包括您的Outlook地址簿,和您的系统注册表文件夹更长的字符串。

    @echo off
    :: variables
    set drive=X:\Backup
    set backupcmd=xcopy /s /c /d /e /h /i /r /y
    echo ### Backing up My Documents...
    %backupcmd% "%USERPROFILE%\My Documents" "%drive%\My Documents"
    echo ### Backing up Favorites...
    %backupcmd% "%USERPROFILE%\Favorites" "%drive%\Favorites"
    echo ### Backing up email and address book (Outlook Express)...
    %backupcmd% "%USERPROFILE%\Application Data\Microsoft\Address Book" "%drive%\Address Book"
    %backupcmd% "%USERPROFILE%\Local Settings\Application Data\Identities" "%drive%\Outlook Express"
    echo ### Backing up email and contacts (MS Outlook)...
    %backupcmd% "%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook" "%drive%\Outlook"
    echo ### Backing up the Registry...
    if not exist "%drive%\Registry" mkdir "%drive%\Registry"
    if exist "%drive%\Registry\regbackup.reg" del "%drive%\Registry\regbackup.reg"
    regedit /e "%drive%\Registry\regbackup.reg"
    echo Backup Complete!
    @pause

    一个小解释这是怎么回事此处:首先,我们设置要将文件复制到的位置– “设置驱动器= X:\ Backup" –接下来是我们将要使用的备份命令– xcopy 。 xcopy命令之后是一串参数,告诉批处理文件执行许多任务:

  • / s 复制系统文件
  • / c 执行由字符串指定的命令,然后终止
  • / d 启用驱动器和目录更改
  • / e 复制空目录
  • / h 如果目标不存在,则复制隐藏文件
  • / i '要复制多个文件,/ i假定目标位置必须是目录
  • / r 覆盖只读文件
  • / y 禁止提示您确认要覆盖只读文件
  • 要将更多文件夹添加到批处理文件中,请使用以下语法:

    %backupcmd% "...source directory..." "%drive%\...destination dir..."

    我们选择了许多要复制的文件夹,但您可能会注意到它们都是USERPROFILE的一部分。如果您只想备份整个文件夹,则可以使用此命令,假设使用的是相同的“ set drive"和“ set backupcmd":

    %backupcmd% "%USERPROFILE%" "%drive%\%UserName% - profile"

    大多数情况下,您的笔记本电脑将动态使用IP,例如在您的工作场所,学校或其他“官方"位置。当然,您可以手动更改它,但是如果您经常访问它,为什么不制作一个批处理文件来替您完成工作呢?

    为此,我们将创建两个文件:一个使其静态,然后将其更改为动态。

    静态

    您应为静态批处理文件键入以下内容:

    netsh interface ip set address "LAN" static "xxx.xxx.xxx.xxx" "xxx.xxx.xxx.x" "xxx.xxx.xxx.x"

    第一个“ x" 是您所需的静态IP,第二个是网络/子网掩码,第三个是您的默认网关。

    动态

    此批处理文件将使您的网络适配器设置恢复为动态设置:

    netsh int ip set address name = "LAN" source = dhcp

    虽然这些文件都不是按批处理,但是只要将这些文件一个节省时间的人。如果您要连接的网络不止一个,请复制第一个文件并更改详细信息。

    我的孩子还不够大,无法在半夜玩电子游戏,但我记得我自己对我父母的战术,这样我就可以在早上的几个小时里玩冠军经理2。幸运的是,我的父母不知道使用命令来控制我的行为。尝试以下操作:

    @echo off
    :W
    If %time%==23:30:00.00 goto :X
    :X
    shutdown.exe /s /f/ t/ 120 /c "GO TO BED RIGHT NOW!!!"

    此处,计算机会不断检查时间是否为过去11点的一半。当时间相关时,将显示消息“ GO TO BED RIGHT NOW !!!!"以及120秒倒数计时器。在计算机关闭之前,120s 应该有足够的时间保存他们正在玩的游戏或工作。

    要停止此倒数,请按 Win + R

    当然,不要告诉孩子们这些。

    我写了一篇涉及批处理文件重命名和删除的更广泛的文章,所以我不会不会太多地探索这个问题,但是批处理文件可用于自动执行这些有时很繁琐的任务。请查看本文中的一些扩展批处理命令,并立即进行批量删除。

    因此,这与生产力无关,如果您容易受到神奇宝贝相关的游戏成瘾的影响,也许不要下载并播放。如果没有,您可以在这里获取此基于文本的冒险。

    胃口大开?

    这只是六个批处理文件,您可以创建这些文件来自动执行系统任务。通过更多的练习,您将能够在批处理文件和命令提示符之间完成系统上未曾预料的活动。如果不合适,您可以随时查看Windows PowerShell。

    标签: 批处理文件 计算机自动化