Articles of batch file

我怎么可以传递一个文件目录(path)作为参数?

我怎么可以传递一个文件目录(path)作为参数 Windows操作系统中的batch file 在unix操作系统中的bash文件

使用WMIC停止计划任务

我需要find一些方法来禁用远程计算机上的计划任务, 并等待直到该任务停止执行,如果此时恰好正在运行。 如果可能的话,我想通过WMIC来做到这一点。 这将被集成到一个更大的批处理过程中。 这是我所得到的: > wmic /node:%SERVER_NAME% /namespace:\\root\cimv2 path Win32_ScheduledJob 但是这只是回报: No Instance(s) Available. 所以我不知道如果我做错了什么,或者如果我需要在服务器上configuration的东西。

批文件如果%时间%不工作

我试图做一个batch fileclosures个人电脑,如果他们使用了允许的时间。 它将在启动时被触发,但是因为在Windows任务计划程序中不能有“如果和”触发器,所以有必要build立时间检查脚本。 我用下面的方法,但它不工作。 有人知道为什么吗? IF "%TIME:~0,5%" GEQ "19:58" IF "%TIME:~0,5%" LSS "08:58" (MSG * "Your device has not been authorised for use at this time and will now shutdown." && SHUTDOWN -s -t 120)

当用户在窗口中select“切换用户”时触发batch file

我通过Task Scheduler ( 在工作站locking/解锁 )/ gpedit.msc ( 在用户注销/login ) 上执行.bat文件,将所有用户的login/注销详细信息保存到文本文件中。 我想在select切换用户时运行相同或任何.bat文件,而不是在CTRL+ALT+DEL之后注销/工作站locking。 .bat文件看起来像 echo Logoff: %date% %time:~0,5% %UserName% >> c:\Logs\History.txt 有没有办法做到这一点?

将任务列表中的PID传递给任务杀手,通过打开的.dll杀死一个进程

Windows脚本在这里noob。 说我有我需要删除或复制的.dll的名称,我得到的经典“该文件正在使用的另一个进程…”错误。 我知道我可以使用/ m开关运行任务列表并将其传递给dll名称。 然后我可以得到进程的PID,并用taskkill杀死它们。 我怎样才能在batch file中一步到位呢?

在Windows XP命令提示符处执行一个长命令

即时通讯使用WindowsXP,我想运行以下命令: tomcat6 //IS//AlfrescoTomcat –DisplayName="Alfresco Community Edition" \ –Description="Alfresco Tomcat Bundle – Repository and Share" \ –Install="C:\alfresco-community-tomcat-3.3\tomcat\bin\tomcat6.exe" \ –Startup="auto" \ –Jvm="C:\Program Files\Java\jdk1.6.0_18\jre\bin\server\jvm.dll" \ –Classpath="C:\alfresco-community-tomcat-3.3\tomcat\bin\bootstrap.jar" \ –StartMode=jvm –StopMode=jvm –StartClass=org.apache.catalina.startup.Bootstrap \ –StartPath="C:\alfresco-community-tomcat-3.3" –StartParams=start \ –StopClass=org.apache.catalina.startup.Bootstrap –StopParams=stop \ –JvmMs=256 –JvmMx=1024 –JvmSs=1024 \ ++JvmOptions="-Dcatalina.home=C:\alfresco-community-tomcat-3.3\tomcat" \ ++JvmOptions="-Dcatalina.base=C:\alfresco-community-tomcat-3.3\tomcat" \ ++JvmOptions="-Djava.endorsed.dirs=C:\alfresco-community-tomcat-3.3\tomcat\endorsed" \ ++JvmOptions="-Djava.io.tmpdir=C:\alfresco-community-tomcat-3.3\tomcat\temp" \ ++JvmOptions="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" \ ++JvmOptions="-Djava.util.logging.config.file=C:\alfresco-community-tomcat-3.3\tomcat\conf\logging.properties" \ ++JvmOptions="-XX:MaxPermSize=256m" \ ++JvmOptions="-XX:NewSize=256m" \ ++JvmOptions="-Dalfresco.home=C:\alfresco-community-tomcat-3.3" […]

我可以使用脚本更改Internet Explorer安全设置吗?

是否可以使用.bat或.vbs文件更改Internet Explorer安全设置? 基本上,我需要更改本地Intranet的IE7和IE8安全设置。 我想改变的设置是: Display video and animation on a webpage that does not use external media player Doanload signed ActiveX controls Download unsighned ActiveX controls Initialize and script ActiveX controls not marked as safe for scripting 这些应该设置为Enable 我不知道如何使用组策略,但我们有networking软件,允许我指定.bat / vbs文件的位置,并在networking中的所有计算机上运行。

移动目录在DOS(batch file)不知道完整的目录名称

在Bash中,我可以在不知道完整目录名称的情况下移动一个目录,如下所示: mv gradle-*/ gradle/ 我如何做到这一点在cmd (即batch file,而不是PowerShell)。 move命令似乎不允许这样做。

使用CLI(或.bat文件)path中的空格检测registry项?

我遇到了一个问题,我的经历(和Google-fu)让我失望了。 基本上,我需要推出KB968730几百客户左右。 当然,想在开始安装之前检查修补程序的安装。 可悲的是,我需要用脚本和GPO来完成,而不是像SCCM这样的系统。 通常不会给我任何问题,但似乎有一个问题。 问题在于此修补程序安装的registry项的path在其中具有血腥空间。 具体而言,它安装到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB968730 。 没有意外的是,标准batch file/ CMD命令reg.exe query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB968730抛出一个语法错误,弄乱我的batch file的安装检查部分 – 它看到第二作为第二个参数的path的一部分。 所以,当然,我试图用双引号封装path,没有喜悦。 单引号,没有喜悦。 威胁我的操作系统和/或微软也没有产生结果。 经过一些谷歌search和咒骂之​​后,我发现似乎是解决这个问题的办法,但却无法完成,因为某些原因,我无法弄清楚。 (毫无疑问,因为现在我的编码技巧很弱,string标记在最好的时候给我一个循环。) 好像我想用的是这样的: for /f "Tokens=2,*" %%a in ('reg.exe "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB968730" /v Path') do (set xpath=%%a)和for /f "Tokens=2,*" %%a in ('reg.exe "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB968730" /v Path') do (set xpath=%%a)然后使用%xpath% ,但是这不起作用。 令牌设置为1给了我之前的空间path,设置为2给了我的空间后的path,我不知道如何将一个值附加到另一个。 特别令人沮丧,因为我见过的所有答案都说:“谢谢,它工作! 或类似的。 *(注意直接在命令行上执行时删除一个% )。 […]

批量重命名删除文件名中的第二个字母

我有大约300个从Exchange 2010导出的.pst文件。最后,我将把它们导入到另一个Exchange / AD环境中。 在原始环境中,用户名如下:FirstinitialMiddleInitialLastName即Bart P. Smith将是bpsmith。 在新的环境中,用户名是第一个姓氏。 所以,bsmith。 而不是手动重命名每个pst文件的导入没有人知道批量重命名目录中的每个文件的方法,删除文件名中的第二个字母? 提前致谢。