在Windows Server(数据中心?2008?)上,我试图设置一个计划任务,将: 在一个特定的目录中 对于其中的每个文件 如果存在(在同一目录中)2个具有相似名称的文件(实际上具有附加扩展名的相同名称,即'file1.mov'将需要'file1.mov.flv'和'file1.mov.mpg'存在),然后将该文件移动到另一个磁盘上的另一个目录。 以下是我到目前为止的batch file,但我挣扎。 我也打开另一种技术/机制。 @setlocal enableextensions enabledelayedexpansion @echo off SET MoveToDirectory=M:\_SourceVideosFromProduction ECHO MoveToDirectory=%MoveToDirectory% pause for /r %%i in (*) do ( REM ECHO %%i REM ECHO %%~nxi REM ECHO %%~ni REM ECHO filename=%filename% REM SET CurrentFilename=%%~ni REM ECHO CurrentFilename=%CurrentFilename% IF NOT %%~ni==__MoveSourceFiles ( IF NOT x%%%~ni:\.=%==x%%%~ni% DO ( REM SET HasDot=0 […]
我有一个庞大的networking,都在同一个域(活动目录)。 我希望启用WMI服务和相关端口,然后将域的pipe理员凭据设置为组策略中整个networking上的WMI凭据。 对于Work Groupednetworking,我创build了一个batch file,它可以做我想做的事情,但对于我想要做的最好的域,可以使用Active Directory在整个networking上远程执行batch file。 我知道活动目录让我执行MSI包。 问题是:如何创build一个MSI包,可以执行批处理命令,如下所示: @Netsh firewall set service RemoteAdmin enable 我宁愿在C#.NET 4中这样做!
首先,我不确定是属于StackOverflow还是在这里,但是这个数字更适用于服务器pipe理。 我们每天都有一个.tar备份文件作为离线备份服务器,这是我们日常处理的一部分。 这些是相对较大的文件,平均在25-30 Gig之间。 因此,我们只能保持约2周的备份。 每个星期五(是的,这是星期五),一个将ssh到远程的服务器,OpenSuse 12.1,并手动删除前一周的文件,并保持当周的数据。 例如,文件中有一个与BACKUP<YYYYMMDD><Time stamp>类似的命名scheme。 BACKUP20121022268498.tar BACKUP20121022268498.log BACKUP20121023268498.tar BACKUP20121023268498.log BACKUP20121024268498.tar BACKUP20121024268498.log BACKUP20121025268498.tar BACKUP20121025268498.log BACKUP20121026268498.tar BACKUP20121026268498.log BACKUP20121029268498.tar BACKUP20121029268498.log BACKUP20121030268498.tar BACKUP20121030268498.log BACKUP20121031268498.tar BACKUP20121031268498.log BACKUP20121101268498.tar BACKUP20121101268498.log 等等。 大多数情况下,我会在这个例子中使用命令rm *20121022* 。 有时候,就像在这个例子中,即使能够使用rm *201210[22-26]* 。 做一个快速的谷歌search浑水给我。 我基本上是试图设置这个,让一个实习生可以login,并从用户directoy运行脚本。 是否有捷径可寻? 我从哪里开始? 我很熟悉在其他语言中使用date函数,但是从哪里开始,我似乎处于一个不知所措的状态。 我不做许多Bash脚本。 谢谢。
我在Windows 2012文件服务器上的任务计划程序中有一个任务。 任务必须在每个星期天晚上删除一个临时的一般访问目录的内容。 它在预定的时间运行并且每次都报告成功,但是目录内容没有被删除。 任务包括这个batch file: D: cd D:\Shared\Temp\ del /Q /F /S "D:\Shared\Temp\*.*" 这是任务的XML: <?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2014-06-16T12:13:45.8524361</Date> <Author>OFFICE\Administrator</Author> <Description>Weekly deletes the contents of the Temp directory</Description> </RegistrationInfo> <Triggers> <CalendarTrigger> <StartBoundary>2014-06-22T20:00:00</StartBoundary> <Enabled>true</Enabled> <ScheduleByWeek> <DaysOfWeek> <Sunday /> </DaysOfWeek> <WeeksInterval>1</WeeksInterval> </ScheduleByWeek> </CalendarTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>OFFICE\Administrator</UserId> <LogonType>Password</LogonType> <RunLevel>LeastPrivilege</RunLevel> </Principal> </Principals> <Settings> […]
有人可以帮助我远程从PowerShell脚本备份多台服务器上的IIS。 我可以从powershell命令备份IIS。 backup-webconfiguration -name IIS_backup。 另外我有一个批处理脚本需要备份,但只适用于一台服务器。 我必须在本地login并将其作为批处理作业运行。 @echo off cls pushd "%WinDir%\System32\inetsrv" echo.| date | find /i "current">datetime1.tmp echo.| time | find /i "current">datetime2.tmp for /f "tokens=1,2,3,4,5,6" %%i in (datetime1.tmp) do ( echo %%n>datetime1.tmp ) for /f "tokens=1,2,3,4,5,6" %%i in (datetime2.tmp) do ( echo %%m>datetime2.tmp ) for /f "delims=/ tokens=1,2,3" %%i in (datetime1.tmp) do ( […]
我有批处理脚本文件,应该用pgpencryption文件。 我已经在任务调度程序中定义了一个任务来执行此操作,但是我一直在收到错误“系统找不到指定的文件”。 有趣的是,当我在PowerShell中运行同一行脚本时,encryption文件已成功生成。 我想知道有没有人知道这里可能是错的? 我试图在批处理脚本中给出完整的path,并且在定义动作的时候也在开始部分添加了pass。 批处理脚本代码在这里:: rem @echo off @set path=c:\test;%path% @set d=%date:~-4,4%%date:~4,2%%date:~-7,2% @set d=%d: =_% @set t=%time:~0,2%%time:~3,2%%time:~6,2% @set t=%t: =0% Rem Generate PGP encrypted file @echo Starting PGP… >> c:\apps\ftpLogs\test.log gpg2 –batch –yes -r testkey –output c:\test\foo\test_20150505.pgp –encrypt c:\test\foo\test_20150505.txt >> c:\apps\ftpLogs\test.log 和我运行在我的PowerShell,这工作正常,脚本是这一行: gpg2 –batch –yes -r testkey –output c:\test\foo\test_20150505.pgp –encrypt c:\test\foo\test_20150505.txt >> c:\apps\ftpLogs\test.log
#Get Data Rate wmic "/OUTPUT:'C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic where 'NetEnabled = True' 'get Name,MacAddress,Speed'" 在控制台中直接运行这个工作。 这只是因为在控制台中,我可以这样做: ps C:\>wmic wmic:root\cli>/OUTPUT:"C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic netenabled ="True" wmic:root\cli>exit ps C:\> 在powershell脚本中,我不能简单地inputWMIC,然后input命令的其余部分,或者通过inputWMIC提示符来中断脚本,等待用户键入并不再执行脚本。 当我把它放在一个PowerShell脚本(第一个片段),我不断得到: 找不到别名 我已经尝试了不同的引号组合。 但是我上面贴的脚本专门给我: “/ OUTPUT:'C:\ Users \ user \ Documents \ DATE RATE TESTS \ Data_Rate-ts8'+'。txt'nic其中'NetEnabled = True''get Name – Alias not found。
我试图创build一个bat文件进行无人参与安装sccm。 我从http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html下载了jre-7u55-windows-i586.exe(jre-7u55-windows-i586用于我们正在运行的遗留应用程序) 并按照https://www.java.com/en/download/help/silent_install.xml进入 “%〜dp0 jre-7u55-windows-i586.exe ”/ s / v“AgreeToLicense = YES INSTALLDIR = C:\ Program Files \ test \ test1 \ Java \ jre1.7.0.55 IEXPLORER = 1 MOZILLA = 1 REBOOT = SUPRESS JAVAUPDATE = 0 SYSTRAY = 0“ 以上脚本只有在安装目录不是C:\ Program Files \ 例如,它会工作,如果 INSTALLDIR=**C:\test\**test1\Java\jre1.7.0.55 .. 但是我想要INSTALLDIR C:\Program Files\test\test1\Java\jre1.7.0.55 我尝试添加以下内容 INSTALLDIR="C:\Program Files\test\test1\Java\jre1.7.0.55" —不工作 INSTALLDIR='C:\Program Files\test\test1\Java\jre1.7.0.55' […]
我正在编写一个批处理脚本来从SCCM客户端中提取SCCM站点代码。 我想拉客户站点代码,并将其与网站代码数组进行比较。 如果有匹配,我会卸载客户端。 我有卸载部分。 这必须作为batch file来完成。 我可以通过以下WMIC命令获取站点代码 WMIC /namespace:\\root\ccm path sms_client CALL GetAssignedSite 这会产生以下输出 Executing (sms_client)->GetAssignedSite() Method execution successful. Out Parameters:[abstract] class __PARAMETERS { [out, ID(0): DisableOverride ToInstance] string sSiteCode = "BBB"; [out] uint32 ReturnValue; }; 如何提取和比较批处理脚本中的站点代码 – 本例中的“BBB”。 这里是我的Powershell作为例子,但这必须是一个batch file。 $SiteCode = ([wmiclass]'ROOT\ccm:SMS_Client').GetAssignedSite() $SCCMSiteCodes = @('AAA', 'BBB', 'CCC', 'GGG', 'VVV') If ($SCCMSiteCodes -Contains $SiteCode.sSiteCode) […]
我有一个简单的批处理脚本,我一直用它来启动AD用户和计算机模块,而不是我当前会话login到的域。 我一直在使用这个比我清楚记得的更长的时间,但是由于最近强制升级我的工作站到Windows 10,我不能再让批处理工作。 这是批处理的内容: runas /netonly /user:otherdomain.rootdomain.corp\otherdomusername "mmc dsa.msc /server=otherdomdc.otherdomain.rootdomain.com" 由于Windows 10,这首先失败,因为命令必须从提升的命令提示符运行。 我正在研究这个解决scheme。 我似乎无法解决的一个问题是,即使这看起来运行正常,新的AD会话实际上并没有在新的凭据和环境下正常启动。 它只启动我当前login的凭据的权限。 我正在通过RDP到目标域上的服务器来执行AD任务,但这是一个严重的效率损失。 谷歌和technet一直没有帮助,试图得到这个命令的工作,所以如果任何人在这里知道如何让这个脚本按照预期在Windows 10工作站上工作,我将非常感激。 非常感谢您的帮助。 (从stackoverflow交叉发布我的问题,以防这里有人遇到过这个问题。)