Articles of batch file

双引号和/ f遇到麻烦

我正在处理批处理脚本,并试图使其在包含空格的目录中工作。 在特定的行中,我执行以下循环: for /f "tokens=*" %%A in ('%~dp0fciv\fciv.exe -md5 %~dp1%FN%') do … 如果当前目录包含空格,则循环将无法调用可执行文件。 现在我把它用双引号来解决它: for /f "tokens=*" %%A in ('"%~dp0fciv\fciv.exe" -md5 %~dp1%FN%') do … 这工作正常,直到参数没有空格。 因此我也需要把它放在双引号中: for /f "tokens=*" %%A in ('"%~dp0fciv\fciv.exe" -md5 "%~dp1%FN%"') do … 但是这并不像预期的那样工作。 我直接在cmd中进行了额外的testing: for /F "tokens=* usebackq" %A in (`"c:\Test Folder\fciv\fciv.exe" -md5 "d:\Somefile"`) do echo %A for /F "tokens=*" %A […]

使用脚本编辑GPO

是否可以使用batch file来编辑本地GPO? 我正在尝试做什么: 我想创build一个“新的软件限制策略”。 在“执行”中更改参数值。 添加具有特定path的新path规则。 我不是在找你创build脚本。 我只是想知道,如果这可能与batch file和一些想法来帮助我开始这个任务。 这个过程并不复杂,可以手动完成。 鉴于我必须应用这些改变了很多电脑,我正在寻找一个最快的方式,而不是从“gpedit.msc”。

Windowsbatch fileIf / Else Start语法?

我需要build立一个Windowsbatch file,将: 1.-检查一个目录名称,如果它存在,a.-从一个不同的目录运行指定的* .exe。 2.-或者“Else”a.-重命名一个目录,并且b.-重命名另一个目录 – 然后c.-从创build的目录运行* .exe。 问题是:我坚持正确的语法(我想)创build此batch file。 这是我的,(也许嵌套如果/否则会更好?)有人请赐教…谢谢。 @echo off IF EXIST "C:\Test\Dir1" ( START "C:\Test\Dir\Test.exe" ) ELSE ( ren "C:\Test\Dir" "C:\Test\Dir1" ren "C:\Test\Dir2" "C:\Test\Dir" START "C:\Test\Dir\Test.exe" )

用于收集用户名,pcname和Dell服务标签(wmic标识名)的Powershell或批处理脚本

我一直负责收集大约3-400个电脑和笔记本电脑的数据。 由于安全原因,每个机器上的任务都必须在本地完成。 有人能指出我正确的方向使用PowerShell或批处理脚本,将得到的细节。 我尝试使用下面的批处理脚本: for /f "skip=1 tokens=1" %%A in ('wmic csproduct get identifyingnumber /value') do set asset=%%A echo %%A,%computername%,%username% >> "file.csv" 但是这不起作用,因为wmic命令在最后有一个空行,并用空白覆盖%%A 请帮忙小菜:)提前致谢。

如何让PowerShell脚本在同一个terminal执行批处理命令

我有一个我试图发展的PowerShell 2脚本。 此脚本的目的是环绕一个批处理脚本,并智能地select要运行的批处理脚本的版本。 在我的代码沿线的某处,我有一些像这样的逻辑: & $myCommand $args $ myCommand是我要运行的batch file的全限定文件名。 $ args是传递给这个脚本的参数。 这工作除了运行$ myCommand时打开一个命令窗口。 我如何防止这样的输出是在相同的PowerShellshell? 奇怪的是,如果我直接执行命令,它显示了我想要的方式。 所以像这样: C:\myCommand.bat $args 鉴于我需要select哪个命令我想运行在运行时,我怎么做,所以当我使用'&'在variables中执行命令输出是在同一个shell? 谢谢!

写一个batch file来调用另一个batch file并安装一个程序

我遇到了batch file的问题。 我有第一批文件运行的2个文件,它创build目录并复制所需的文件。 它似乎正确调用第二个batch file,因为它打开instructions.txt,但然后停止。 我将从CD运行第一批文件,然后从C:\ testing文件夹运行dbinstall.bat。 这是我的setup.bat @echo off md "C:\testing" xcopy *.* C:\testing CALL "C:\testing\dbinstall.bat" 哪个轮stream应该调用并运行这个 REM ***PLEASE REPLACE %DWVerFileName.exe WITH THE PROPER VERSION OF THE EXE FILE*** REM ***MAKE SURE THE 7z FILE INCLUDES THE CUSTOMER NAME AND THEN CHANGE %filename%.7z TO THE FILE NAME*** CALL "C:\testing\Instructions.rtf" start /b /wait "C:\testing\7z423.exe" SET […]

批处理脚本:使用递增的文件扩展名识别最新的文件

有人可以帮助我处理下面使用Windows批处理脚本解释的具体情况。 我们有一个共享文件夹,由第三方应用程序工具(OBIEE)用作版本控制文件夹。 在该文件夹中,该工具创build具有递增分机号码的备份文件。 例如 :如果我们有一个代码文件Projects.rpd ,那么当我们第一次签出这个文件时,这个工具会创buildProjects.000作为备份文件。 下次将是Projects.001 ,然后Projects.002等。 在批处理脚本中,我需要获取最新备份文件的文件名。 在这个例子中, Projects.002 因为最新的备份( Projects.002 ),最新的代码文件( Projects.rpd )和另一个控制文件将始终具有相同的时间戳,所以我不能使用最新的时间戳。 如何在这种情况下识别最新的备份文件 ?

如何编写一个batch file,我在哪里启动一个程序,当程序完成或closures时,启动另一个程序

例如: @echo off start C:\Windows\system32\dfrgui.exe /C 等待碎片整理完成。 start C:\"Program Files (x86)"\CCleaner\CCleaner.exe /AUTO 等待CCleaner完成。 start C:\Windows\system32\cleanmgr.exe /sagerun:1 等等..你明白了。 我怎么能做到这一点? 谢谢。

Glassfish asadminbatch file不打开命令提示符

嗨,我有两个glassfish版本3.1.1和4.0安装在我的机器上。 当我点击glassfish 3.1.1 / bin / asadmin窗口batch file,它会打开命令提示符,我可以创build服务和删除服务等。 但是当我点击glassfish 4.0 / bin / asadmin时,命令提示符闪烁一秒钟并终止。 即使我看不到exception或错误。 我认为这是由于2安装。可以有人build议一个解决scheme,以取代玻璃鱼3.1.1,我可以打开玻璃鱼4.0的asadmin。 提前致谢。

发送path具有空间batch file从C#

我有一个从应用程序中执行batch file的应用程序。 batch file包含这个 attrib %1 +h +r +s /s /d pause 我的代码在C#应用程序是 Process p = new Process(); string m=@"C:\Users\INDERJEET\Desktop\Antivirus works\Antivirus\Batchfiles\Testproject"; p.StartInfo.FileName = @"C:\Users\INDERJEET\Desktop\Antivirus works\Antivirus\Batchfiles\hide_2.bat"; p.StartInfo.Arguments = m; p.StartInfo.Verb = "runas"; p.Start(); 当我运行这个。 它似乎只挑选path上升C:\用户\ INDERJEET \桌面\杀毒软件,而不是之后..如何发送整个path到cmd。