Articles of batch file

大量删除映射和本地打印机

有没有办法通过组策略或batch file从域上的所有工作站大量删除所有本地和networking映射的打印机? 我需要删除本地Windows 7打印机,如传真,Microsoft XPS文档编写器,发送到OneNote 2010。

用Mercurial和Robocopy备份?

问题 我们希望将我们的关键文件从多个networking共享备份到可移动硬盘。 我们希望自动备份,所以我们不必记得运行它。 它需要在一夜之间完成。 此外,我们希望能够保留每个文件的多个版本,以便我们更容易地退出用户的错误。 背景信息 我在一个大型的基于Windows的企业中工作,负责所有的备份。 他们的备份面向灾难恢复,而不是用户错误,并要求上级pipe理层批准任何非灾难恢复。 有好几次我们注意到我们的备份失败了,我们没有通知。 我没有服务器或桌面的pipe理权限。 我们正在尝试备份大约240千兆字节的大约198,000个文件。 这些文件很less改变。 我们的备份驱动器是一兆兆字节。 我的build议解决scheme 我想要做的是使用带有/ mir选项的Robocopy和Mercurial SCM编写batch file来存储文件的所有版本。 在每次执行Robocopy之前,我都会先执行hg add,然后执行hg commit来保存当前状态,然后创build文件结构的镜像副本。 问题是/ mir将删除源文件中不存在的每个文件夹,并且Mercurial将存储库存储在目标文件夹中的.hg文件夹中。 有人知道我怎么能说服Mercurial存储在其他地方的.hg文件夹,或说服Robocopy不要从目的地删除它? 我试图避免写一个自定义程序来做复制。

Windowsbatch file是否具有%*结构?

在一个batch file中,我必须做(例如)以下吗? @echo off call other.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

在没有用户login的情况下从任务计划程序运行batch file

我试图从任务计划程序在Windows 7上运行batch file。 如果从命令提示符运行它,我可以运行batch file。 如果我从“任务计划程序”运行它以仅在用户login时运行,则任务将运行而不会出现任何问题。 但是,当用户未login时运行时,Task Scheduler看起来像正在运行该文件,但没有任何反应。 我已经尝试将batch file更改为除了下面的行之外,以确保它不是因为batch file中的内容: echo "success" >> c:\temp\test.log 这不起作用。 有任何想法吗? 我已经用最高权限运行,并且具有对batch file和文件所在文件夹具有完全权限的pipe理员帐户。

在启动时运行bat文件

如何在Windows 2008启动时运行bat文件?

如何从batch file编辑本地安全策略?

我试图编写一个实用程序作为batch file,其中包括将用户添加到“拒绝本地login”本地安全策略。 此batch file将在数百台独立的计算机上使用(不在域上,甚至不在同一个networking上)。 我认为以下是我的select之一,但也许有一个我没有想到的。 类似于net.exe命令行实用程序,可以修改本地安全策略。 一个VBScript示例做同样的事情。 使用一些WMI或Win32调用写我自己的。 如果我不需要,我宁愿不要做这个。

计划任务w / GUI问题

当任务有一个GUI时,在Windows 2003中运行计划任务是否存在问题? 我有一个在Windows 2000中工作正常,但不会在Windows 2003上运行。 细节: 我有一个.bat作业,在一台旧的Windows 2000服务器上,一整天都会运行很多年。 上个星期我终于退休了,并把作业(和相关的程序和文件)移到了Windows 2003服务器上。 .bat文件首先调用几个cmd行应用程序,但最后一步是基于GUI的.NET应用程序(它在图像文件上执行一些OCR,然后closures)。 在新的服务器上,以“计划任务”所有者的身份login,我可以成功地从命令行运行.bat文件。 从新服务器再次以“计划任务”所有者身份login,我可以右键单击“计划程序”中的任务并成功运行该任务。 这个任务只是运行相同的.bat文件。 如果计划任务所有者login到2003服务器,并且从远程服务器(用户启动计划任务并连接到此服务器)启动该任务,它也将成功运行。 如果计划的任务所有者未login到此服务器,那么在启动GUI应用程序的步骤中计划的任务将失败。 我们不能得到任何错误消息。 从监视该用户帐户的其他会话/用户帐户运行ProcMon也没有发现任何东西。 目前,我可怕的解决办法是让屏幕locking的计划任务所有者login到控制台。 当然,这个服务器每次重启都会变成痛苦的 计划的任务所有者是我们的“域服务帐户”,并与所有其他服务器上的所有其他任务一起工作。 它没有被locking或者类似的东西。 我什至尝试修改任务计划程序来检查“允许服务与桌面框交互”,但没有任何改变。 (是的,我改变后重新启动了服务。) 思考? 更新(1/19/2010) 我需要澄清一点:我提到的.NET应用程序做了一堆工作。 直到它需要打开一个应用程序然后挂起的窗口。 我们可以通过它留下的日志条目来查看应用程序的进度,所以我们可以看到它在最后一个日志条目“即将启动OCR”的情况下正常工作…并且这是她挂起的位置。

在DOSbatch file中检查参数

我们有一个需要参数的batch file。 然后我们使用%1读取第一个参数的值。 问题是:我们如何检查%1是否有值?

在xp中从批处理脚本中删除临时文件

我正在寻找一个很好的批处理脚本,可以快速find并清理所有已知的安全临时文件夹/文件从Windows(尽可能多变种)机器(如Windows临时文件夹,所有用户IE临时文件夹等)。 我喜欢CCleaner(通过Cleanmgr.exe)的UI工具,但是当我试图快速清理几台电脑和/或以最less的介入时 ,最好有一个脚本。 再加上一个脚本,我可以将几个脚本链接在一起。 也许一个然后启动各种防病毒和/或恶意软件检测器。 任何人都有一个好的或可以指向一个好的资源?

如何在batch file中设置全局PATH环境?

我们环境中的组策略会在每次login时覆盖PATHvariables,当我运行一个“非标准”计算机时,它会完全错误(C:\ Windows vs C:\ WINNT,缺less目录等)。 目前,我每次login时都会手动更改它,但是这开始令人厌烦。 如果使用SET命令更改batch file中的PATHvariables,则它只具有本地作用域,所以更改仅适用于batch file中的命令。 set PATH=C:\WINNT;C:\WINNT\System32 set PATH 这个batch file将输出新的path,但是如果我之后在命令行上运行set PATH ,它仍然是原始path。 如何在batch file中设置全局 PATH环境? 还是有另一种技术可以使用?