在一个batch file中,我打开一个特定名称的窗口,如下所示:
@echo off start "my log" /D \logs\ /I powershell -nologo -noexit -command "$host.ui.RawUI.WindowTitle = 'My log'"; get-content logfile.log -wait
所以窗口标题是“我的日志”。
只有当窗口尚未打开时,如何运行此命令。 有没有一个bat文件命令来testing这个? 我宁愿不使用程序或PowerShell命令,只是一个简单的bat文件cmd,如果可能的话。
像这样的东西:
@echo off if EXISTS window("My log") goto skip start "my log" /D \logs\ /I powershell -nologo -noexit -command "$host.ui.RawUI.WindowTitle = 'My log'"; get-content logfile.log -wait :skip
@For /f "Delims=:" %A in ('tasklist /v /fi "WINDOWTITLE eq New Folder"') do @if %A==INFO echo Prog not running
有关批次的更多信息。 还看到for /?
。
& seperates commands on a line. && executes this command only if previous command's errorlevel is 0. || (not used above) executes this command only if previous command's errorlevel is NOT 0 > output to a file >> append output to a file < input from a file | output of one command into the input of another command ^ escapes any of the above, including itself, if needed to be passed to a program " parameters with spaces must be enclosed in quotes + used with copy to concatinate files. EG copy file1+file2 newfile , used with copy to indicate missing parameters. This updates the files modified date. EG copy /b file1,, %variablename% a inbuilt or user set environmental variable !variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command %<number> (%1) the nth command line parameter passed to a batch file. %0 is the batchfile's name. %* (%*) the entire command line. %<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file. . --