Questions tagged «batch»

批处理文件是一种脚本文件的名称,该脚本文件是一种文本文件,其中包含要在MS-DOS和Microsoft Windows下由命令解释器执行的一系列命令。


7
Windows命令提示符:如何将命令的输出转换为环境变量?
我想在cmd.exe中包含一个包含星期几的环境变量。 当我运行此命令时,我得到想要的结果。 C:\Users\tisc> powershell (get-date).dayofweek Friday 在这里,我试图将结果存储在环境变量中。 C:\Users\tisc> set dow = powershell (get-date).dayofweek 但是,当我尝试获取它时,却没有得到想要的字符串。 C:\Users\tisc> set dow DoW=0 dow = powershell (get-date).dayofweek 我的目标是将批处理文件中的变量用于某些备份脚本。


13
使用%time%变量,批处理脚本需要前导零
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我在DOS脚本中遇到了一个错误,该错误使用日期和时间数据进行文件命名。问题是我最终以间隔结束,因为时间变量没有在小时<10时自动提供前导零。所以运行> echo%time%会返回:'9:29:17.88'。 有谁知道有条件地填充前导零以解决此问题的方法吗? 更多信息:我的文件名设置命令是: set logfile=C:\Temp\robolog_%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.log 最终是:C:\ Temp \ robolog_20100602_ 93208.log(上午9:23)。 这个问题与此有关。 谢谢

3
对于Windows bat脚本中从1到n的循环计数
我需要在bat脚本文件中运行Windows命令n次。我知道如何使用各种编程语言来执行此操作,但是无法在Windows命令行上正确完成它:-( 我希望这样的事情 for(int i = 0; i < 100; i++) { // do something } 甚至是这个(尽管并不完全是认真的) 1.upto(100, { // do something }) 谢谢! 编辑 我可以用java,perl,c或任何会生成如下所示的bat脚本的程序编写程序 for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N 等等。甚至“更好”: echo 1 echo 2 echo 3 …

6
如何通过.bat文件通过网络用户创建永不过期的密码和用户
我正在使用.bat fileWindows操作系统级别创建用户和密码。 我面临的问题是当我通过时 EXPIRES:NEVER密码时,在创建用户时,没有"Password never expires"选中复选框(这意味着为该创建的用户选择了密码永不过期),并且用户在90天后自动过期。 Net User %1 %2 /COMMENT:"%3" /EXPIRES:NEVER /PASSWORDCHG:NO /ADD 上面是代码的主线,我从文本文件传递用户名和密码,然后运行.bat文件。
23 windows  batch 


3
批处理文件中不支持区域设置的%DATE%和%TIME%?
该%DATE%和%TIME%环境变量提供命令行和批处理文件内的当前日期和时间在Windows机器上。 可悲的是,这些值是区域感知的!也就是说,在德国的机器上,您将获得 26.1.2011 代替 2011-26-01 如果您想在文件名中使用此变量,这将使排序更加麻烦。 有什么简单的方法可以YYYY-MM-DD在Windows批处理文件中保留不支持区域设置的日期字符串? 目前,我正在使用这种相当笨拙的解决方法: for /f "tokens=1,2,3,4 delims=. " %%i in ('date /t') do set date=%%k-%%j-%%i echo %date% 但现在这是德语语言环境中具体-显然,一个完全独立的解决办法是多漂亮。 有问题的操作系统是Server2008。如果有可能,我宁愿不使用第三方工具。

8
程序无法按计划任务正常运行
情况 我有一个批处理脚本,该脚本准备一些文件,执行程序(.exe),然后删除所述文件。 该任务应该每小时运行一次,因此我正在尝试使用“计划任务”进行配置。问题是,从任务中调用时(既不是通过.bat脚本,也不是.exe直接调用),上述程序无法正常运行,但是日志中没有任何警告或错误消息。 设定 该任务被配置为作为Windows服务帐户运行,该帐户具有正确设置的所有特权。使用此帐户通过RDP登录时,我可以直接执行.bat和.exe,而不会出现问题,但任务似乎仍然无能为力。这是很容易观察到,因为程序总是修改文件,并修改上的时间戳通过任务不会改变。 在计划的任务日志中,我获得了有关任务启动过程,退出过程等的信息消息。但是,“结果代码”是111((如果没有运气,请尝试使用Google,我得到的唯一关联是“文件名太长”,这与AFAIK完全无关)。在应用程序日志中,我什么也没得到。 我怀疑是问题所在 该程序是一个古老的怪兽,它生成某种形式的启动屏幕(实际上是一个普通的窗口),尽管不需要GUI是因为它不需要交互并且在操作后会自行关闭。窗口出现约2秒钟。 我怀疑对GUI的这种要求与任务失败有关,但是我不确定。当我与运行任务的用户(通过RDP)登录时,启动计划任务时没有窗口出现。 编辑关于GUI 我已经构建了一个非常小的C#可执行文件,它在没有主窗口的情况下启动程序(使用ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden)。即使这样,计划任务仍然无法成功启动程序,但是现在返回代码为0。 更新资料 当我将任务配置为说“运行用户是否已登录”并且未选中该run with highest privileges选项时,错误值为。2147943859 我该怎么做排除故障? 操作系统= Windows Server 2008 R2 SP1 如果需要更多信息,请在评论中让我知道。

8
使文件夹中的文件过期:x天后删除文件
我正在寻找一个Windows共享驱动器中的“拖放文件夹”,每个人都可以使用。如果文件在文件夹中放置超过X天,我希望将其自动删除。 但是,似乎所有找到的方法都可以使用该文件的最后修改日期,最后访问时间或创建日期。 我试图将其设置为一个文件夹,用户可以在其中放置文件以与他人共享。如果有人将文件复制或移动到此处,我希望时钟从现在开始计时。但是,除非有人实际修改了文件,否则文件的最后修改日期和创建日期将不会更新。上次访问时间更新太频繁了……似乎只是在Windows资源管理器中打开目录会更新上次访问时间。 有人知道解决方案吗?我认为每天对文件的哈希进行分类,然后根据早于某个特定日期的哈希值使文件过期可能是一种解决方案....但是获取文件哈希值可能会很耗时。 任何想法将不胜感激! 注意: 在这里,我已经看了很多答案...研究了文件服务器资源监视器,powershell脚本,批处理脚本等。它们仍然使用上次访问时间,上次修改时间或创建时间...如上所述,这不符合上述需求。


1
如果工作站未连接到网络,则关闭脚本不会运行
无论计算机是否连接到网络,我都要求每次关闭系统时都运行批处理脚本。(该问题无关紧要,但是有问题的脚本会清除机器的打印队列。 但是,当我在下面使用此方法时,当PC从网络脱机时,我无法运行此脚本。 我可能还会补充说,相关PC正在运行Windows 10 Pro x64(版本1809)。域控制器正在运行Windows Server 2008 R2,这也是我运行的地方gpedit.msc。 到目前为止,我所做的是: 使用计算机关闭脚本创建了Active Directory 组策略对象。 将脚本添加到SYSVOL上的GPO文件夹中。 确认此GPO确实已下载到有问题的工作站的硬盘上,因此可以脱机访问。 GPO中指定的路径是相对的,不是绝对的。 我想发生的事情: 关闭PC时,ClearPrintQueue.bat无论PC当前是否具有网络连接,脚本都将运行。 实际发生的情况: 当PC关闭时,ClearPrintQueue.bat仅当PC当前可以通过网络到达SYSVOL共享时,才运行脚本。 细节: 我要做的是在域中创建一个组策略对象,并将其链接到包含有问题的计算机的测试OU。 我编辑了GPO,然后导航到“ 计算机配置” ->“ 策略” ->“ Windows设置” ->“ 脚本(启动/关闭)” ->“ 关闭” 在关机属性如按如下: 单击“ 显示文件...”时,浏览器将打开以显示文件夹\\example.com\SysVol\example.com\Policies\{1B61F884-9D14-4065-8265-F04FFDE41683}\Machine\Scripts\Shutdown 该文件夹的内容和文件ClearPrintQueue.bat如下所示: PS C:\> Get-ChildItem "\\example.com\SysVol\example.com\Policies\{1B61F884-9D14-4065-8265-F04FFDE41683}\Machine\Scripts\Shutdown" Directory: \\example.com\SysVol\example.com\Policies\{1B61F884-9D14-4065-8265-F04FFDE41683}\Machine\Scripts\Shutdown Mode LastWriteTime Length Name ---- ------------- ------ ---- …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.