Articles of 批处理

我怎样才能从命令行configuration一个Windows服务

我有一个我写的Windows服务。 我想让我的服务器团队轻松安装它。 所以我正在构build一个小批处理脚本。 我需要的一件事情是将其设置为“login为:”设置为“本地系统帐户” 默认情况下,当我使用C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe myService.exe安装时,会出现“This Account”选项。 有没有办法从命令行configuration该选项?

通过PowerShell运行bat文件不在jenkins退出

我们在Windows机器上使用Linux Jenkins服务器进行部署。 我们将这台机器添加为一个节点并在其上运行部署。 我们正在使用PowerShell进行部署,一切正常,但是使用我们的应用程序启动的bat文件无法正常工作。 这是我们在PowerShell中使用的命令。 write-host "Starting store" cmd.exe /cc:\store\start.bat 它开始在Windows服务器的应用程序,但它没有在jenkins完成。 请注意我们的应用是一个GUI应用程序。 查看jenkins的状况 Store Startup… Real Path: C:\store\ PID File: engine.pid Executables: store.exe,python.exe,pythonw.exe PID Dir: C:\store\tmp\ ———————— Starting Store… ———————— 在此之后,其继续Jenkins这一步并没有执行。 但是,当我们在Windows服务器检查,我们可以看到应用程序启动成功。 我们也尝试了以下方式启动bat文件: start "" /c 'c:\store\store.bat' Start-Process cmd.exe -Argument "/cc:\store\store.bat" 当使用这些选项jenkins来下一步和所有jenkins作业正在执行,但在Windows服务器应用程序不启动。 任何人都可以请帮助我们。

重命名文件并添加时间戳的脚本(server 2012 r2)

我努力创build一个(相当简单)batch file脚本,以满足这些要求: 在名为Source的文件夹中查找文件(使用任何name.csv) 将文件重命名为File_YYYYMMDD_HHMinMinSS.csv(如果可能的话,应该修改时间戳/创builddate(修改/创build应该是相同的东西,所以可以工作) 将其移动到一个名为Destination的文件夹中,可以对其进行进一步的工作。 1文件是每天创build的,所以在那里应该只有1个,但是如果有超过1个(由于脚本不能以任何理由运行),它应该能够做多个文件,或者只是拿起第一个,并处理它正确。 (我可以安排它每天运行多次来提取以前没有处理过的任何东西。 所以这是我的代码到目前为止。 我已经从谷歌拼凑起来,它的工作方式,但没有做我想要的。 echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a set YYYY=%dt:~0,4% set MM=%dt:~4,2% set DD=%dt:~6,2% set HH=%dt:~8,2% set Min=%dt:~10,2% set Sec=%dt:~12,2% set stamp=%YYYY%%MM%%DD%_%HH%%Min%%Sec% move "c:\test\source\*.csv" "c:\test\destination\File_%stamp%.csv" 它发现文件确定。 它以我想要的格式(但使用当前的date和时间,不知道如何使用修改或创builddate)重命名它,并正确地移动它。 但它只适用于单个文件。 如果目录中存在多个文件,则会出错,导致无法将多个文件合并为一个文件(这是有道理的,它不能将所有文件重命名为1个文件。 但是我卡住了。 我不知道如何进一步。 有人可以帮我吗? 我隐约了解代码在做什么,但不足以操纵它做我想做的事情。 Powershell也是一个select,但是我更加不了解如何在那里做。 如果还有另一种可以通过任务调度程序轻松调度的选项,也可以使用。

需要排除批量For循环中的特定结果

我有一个脚本recursion地加载文件从一个特定的目录(和子目录)到一个java类path使用FOR循环。 它看起来像这样: FOR / r 目录 %% F IN(* .jar)DO调用:addcp %% F 不幸的是,我现在需要从结果中排除一个特定的子目录(我不希望加载一些jar文件)。 我试图在FOR循环中嵌套一个IF语句,但是没有成功。 不幸的是,改变脚本语言不是一种select,迭代每个子目录将是一个维护的噩梦。 有没有人有办法做到这一点? 我尝试了这样的: FOR / r 目录 %% F IN( * .jar)DO IF %% F == * string * DO call:addcp %% F 但它没有工作。

使用相对path调用batch file

哦,天哪,在这里暴露自己作为一个noob;) 在Windows中,我需要在工作目录的子目录中执行batch file。 但是,只是运行subdir/foo.bat cmd1 cmd2不起作用,我得到一个错误说 命令“subdir”找不到。 我究竟做错了什么?

批处理脚本来检索零字节文件

如何检索零字节文件并使用批处理脚本复制到文件夹中。 有人可以帮我吗。 我希望脚本应该检查子文件夹,并在输出文本文件中显示输出为完整的文件夹path。 操作系统是WindowsXP。 我想获得零字节文件path,并将path复制到一个文本文件。

parsing文件时batch file无限循环

编辑:显然,我没有足够的代表回答我自己的问题,所以答案就在这里。 好的! 所以! 我没有完全解决问题…但我停止使用cacls.exe并开始使用icacls.exe,现在它似乎再次工作。 batch file现在看起来像这样: FOR /F "tokens=*" %%A IN (dirlist.txt) DO echo y| icacls "%%A" /T /C /Grant "Domain Admins":f "Some Group":f "some-security-group":f 显然,cacls是在2k8贬值,并不像你期望它的行为了… 无论如何,我可能正在研究Mathieu的PowerShell解决scheme,因为这将是未来可能必须要做的事情,而且他的方式似乎更加清晰。 谢谢大家的帮助! 好吧,这应该是一个非常简单的任务,但它certificate比我认为应该更复杂。 我显然做错了什么,并希望别人的意见。 我想要做的是parsing通过包含目录path的文件,并设置这些目录的权限。 input文件的示例行。 有几行,所有格式都是相同的,具有到目录的不同path。 E:\stuff\Things\something else (X)\ (有问题的文件是在Cygwin下使用find生成的,在名称中列出所有带有“(X)”的目录,然后通过unix2win传递给它,以使它兼容Windows。我也尝试从内部手动创buildinput文件窗口来排除文件的创build方法的问题。) 这里是我被卡住的地方…我在Windows XP中写了下面的快速和肮脏的batch file,它工作没有任何问题,但它不会在服务器2k8中工作。 batch file代码来运行文件并设置权限: FOR /F "tokens=*" %%A IN (dirlist.txt) DO echo y| cacls "%%A" /T /C […]

批处理脚本从名称列表创build家庭主目录

我试图创build一个文本文件的权限的主目录。 我只能得到batch file来运行第一行。 谁能告诉我为什么? 我以pipe理员身份运行go.bat来启动脚本。 GO.BAT @echo for /f %%a in (users1.txt) do call test.bat %%a test.bat的 @echo off m: cd \ mkdir %1 icacls %1 /grant %1:(OI)(CI)M cd %1 mkdir public icacls public /inheritance:d icacls public / All:(OI)(CI)(RD) icacls public /grant All:(OI)(CI)R mkdir private icacls private /inheritance:d icacls private /remove All cd \ users1.txt […]

复制附有date的文件

我正在编写一个脚本,将文件复制到另一个目录。 我想附加date到文件的末尾,但是当我尝试使用%date%时,我得到以下内容: 复制c:\ mydir \ file.zip“c:\ temp \ file-%date%.zip” 该系统找不到指定的path。 0 file(s) copied. 如果我删除%date%复制就好了 谢谢

windows在同一个蝙蝠的背景下启动nginx和php-fpm

我试图在Windows 10上创build一个bat文件来启动后台的nginx和php-fpm。 目前我可以这样做,但命令窗口(黑色窗口)保持打开状态。 如果closures窗口,php-fpm也会被终止。 这里是我在start.bat中添加的内容 @ECHO OFF cd D:\servers\nginx-1.10.1\ echo Starting Nginx… start /B cmd /K "D:\servers\nginx-1.10.1\nginx.exe" echo Start Php-cgi… start /B cmd /K "D:\servers\php-5.6.26\php-cgi.exe -b 127.0.0.1:9000 -c D:\servers\php-5.6.26\php.ini" EXIT 这是黑色的窗口上打印的内容: Starting Nginx… Start Php-cgi… 我想让窗口自动closures,但保持进程(nginx和php-fpm)运行。