我从.cmd文件中调用以下内容: ftp -d -s:D:\backup\web-daily.txt web-daily.txt文件是一个ftpinput文件,其内容与此类似: open <server> <login> <password> put d:\backup\web-daily.7z web-daily.7z quit 我需要能够将当前date传递给ftpinput文件。 这是可行的,而不必执行一个程序,实际上修改web-daily.txt? 这是因为web-daily.7z实际上是web-daily_%date:〜10,4%%date:〜4,2%%date:〜7,2%.7z(或web-daily_yyyy_MM_dd.7z)。 如果可能的话,我想把这个date作为参数传入。
我有一个batch file设置为通过Windows Server 2008 R2中的任务计划程序运行。 该batch file正在用于旋转和压缩MySQL日志,并且使用内置EFSencryption的Windows对包含这些日志的文件夹进行encryption。 我发现一个压缩(压缩)文件夹的VBS脚本,我用它来压缩旋转后的旧日志文件。 batch file运行良好,如果我在命令行运行它。 问题是当我试图让任务调度程序运行它。 我已经设置为每天运行一次,并以自己的身份运行(我有权访问并可以查看encryption的日志文件等)。 但是,当任务运行时(无论是在预定时间还是手动运行任务),在运行VBS脚本时都会产生窒息,说它是未经授权的。 当batch file调用CScript来运行VBS脚本时,CScript是否以相同的用户(我)运行? 我只是从batch file中调用它,如下所示: CScript zipIt.vbs %TEMPDIR% %ARCHIVEDIR%\%TARGETZIP% 这里是VBS脚本的内容: Set objArgs = WScript.Arguments InputFolder = objArgs(0) ZipFile = objArgs(1) CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar) Set objShell = CreateObject("Shell.Application") Set source = objShell.NameSpace(InputFolder).Items objShell.NameSpace(ZipFile).CopyHere(source) wScript.Sleep 2000 我一般对VBS或Windowspipe理不是很了解,但我猜测这个脚本在encryption文件夹中创build一个新文件时遇到了麻烦。 因为当我closures文件夹encryption它从任务计划程序正常工作。 […]
我在Windows Server 2012 R2上遇到了一个奇怪的问题,对我来说根本没有任何意义。 我有一个基本上具有以下结构的PowerShell脚本: Function Something-Different { […] } Function Start-Some-Batch { Start-Process "K:\Path\To\Batch.cmd" } Function Something-Else { […] } Something-Different Start-Some-Batch Something-Else 但batch fileK:\Path\To\Batch.cmd永远不会被执行! 一些更多的信息和事实: 所有操作都使用相同的域用户执行 PowerShell版本是4.0 在Windows资源pipe理器中双击该batch file时,可以不出现任何问题 PowerShell脚本不提供任何错误输出 直接从PowerShell控制台执行Start-Process "K:\Path\To\Batch.cmd"也不会提供任何输出,也不会启动批处理脚本 执行后$error[0]为空 Something-Else函数执行得很好(这意味着Start-Some-Batch不会阻止PS脚本完成其执行) 运行提升的PowerShell脚本不会改变一件事情 从cmd.exe提示调用批处理脚本也不会启动它(提升或不提升) 我怀疑通过组策略的任何一百个Security Settings 什么会导致这样一个奇怪的行为? 我在这里没有想法了。
我不知道现在最常用的脚本语言是login脚本。 人们还在使用batch file或者VB脚本,还是使用PowerShell或者完全不同的东西? 就个人而言,我对vbscript有相当不错的经验 ,它可以在几乎所有的Windows版本上运行,但是PowerShell看起来不错 ,而且可能是一个选项。 那么,login脚本的首选脚本语言是什么,为什么呢? 如果可以,请分享您在login脚本中所做的一些精彩的事情。 问候,Egil。
我知道Windows中的tasklist命令会给出任务名称及其PID的列表。 还有另一个命令WMIC path win32_process get Commandline ,它提供了更详细的信息,但其输出更加混乱,有时是不可预知的(所以很难写出一个模式/正则expression式,尤其是在MSDOS中的findstr !) 所以,我想知道在Windows中,有没有办法直接查询任务pipe理器来查找图像名称和命令行部分? 我想如果任务pipe理器本身能够find这个信息,那肯定是有办法的。 我非常希望这是在批处理脚本中完成的,但是如果使用更复杂的东西(比如使用.NET或VB),那么一个例子会非常棒!
我有一个batch file,我想在启动EC2 Windows AMI时运行。 我想从该batch file运行的程序将EC2机器的实例ID作为参数。 将实例ID作为parameter passing给该程序的最简单方法是什么? 从Amazon关于这个主题的文档中 ,我发现你应该发布一个WGET到指定的URL并parsing响应。 所以这个问题的替代方法可能是“如何将HTTP请求的内容作为Windowsbatch file中的parameter passing给程序” 在伪代码中,这是我想要做的: set ID = GET http://169.254.169.254/2008-08-08/meta-data/instance-id myprogram.exe /instanceID=%ID% 有关我如何进行的任何build议?
背景 我有一个现有的CMD脚本工作正常。 它像这样从程序文件启动一个应用程序 "%PROGRAMFILES%\MyApp\app.exe" 问题 它在32位版本的Windows(Vista,Windows 7)上正常工作, 但在64位版本的Windows上,应用程序将被安装到“Program Files(x86)”中,而不是“Program Files”(这是32位操作系统上发生的情况) 我在寻找什么 一个强大的处理这两种情况的脚本(即它“做正确的事情”取决于它所在的操作系统) 一种只使用CMD.EXE中的特性的方法。 我很好奇使用Powershell等的解决scheme,但那些帮助不了我–PowerShell不会在这个脚本运行的机器上。
我有一个命令,我需要实时检查(即查看其输出在命令提示符MyProgram.exe ),并有一个日志文件供日后检查( MyProgram.exe> log.txt ) 如何让程序的单个实例写入两个输出?
当我在cmd屏幕上执行batch file批处理中的命令出现在屏幕上的示例: – batch file: – @echo off. command1 command2 @echo off. command1 command2 当我在cmd上执行它时,屏幕上显示以下内容: – c:\user > command1 c:\user >command2 当我执行batch file时,我不会出现任何东西
我想我碰到了一个batch file中的错误,因为它是用unix行结尾写的。 这是一个已知的问题,在Windows中运行batch file的cmd.exe?