Articles of batch file

我正在使用batch file来search完全匹配的函数列表,想知道是否可以执行关键字search

我正在使用batch file来search精确匹配函数列表,想知道是否有可能做关键词search,所以现在我必须键入“打开cmd”(间距和大写字母的变化是占了)编号喜欢切换到一个系统,可以查找“CMD”,并执行操作,所以“嘿,请打开CMD”将产生与旧系统相同的结果 旧系统: setlocal :: /STARTUP set speech=start scripts\nircmd.exe speak text cls :begin set TALK=TypeSomething SET /P TALK= set TALK=%TALK:?=% call :%TALK: =% 2>NUL if %errorlevel% equ 0 goto begin exit /B 0 :unknown echo Old function no longer supported :opencmd :BOSopencmd :cmd echo Command Prompt has now been opened in a new window, sir. […]

如何在安装SQLEXPR_x64_ENU时通过cmd启用sql身份validation模式?

我正在尝试通过cmd通过batch file安装SQLEXPR_x64_ENU,如下所示: SETUP.EXE /ACTION=Install UIMODE=Normal /QUIET=True /IAcceptSQLServerLicenseTerms=True /InstanceId=SQLSERVERFINAL /SECURITYMODE=SQL /SAPWD=@123 /InstanceName=SQLSERVERFINAL /ADDCURRENTUSERASSQLADMIN=True /UpdateEnabled=False 然后通过SQLpipe理工作室尝试连接到SQLSERVERFINAL实例保持sql身份validation模式启用和feild服务器名称:域/用户和密码:@ 123,但它没有连接。 如果我连接使用Windows身份validation连接获取成功。然后在.bat文件中添加additinal两个参数“/ SQLSVCACCOUNT = xyz / user / SQLSVCPASSWORD = @ 123”,如下所示: SETUP.EXE /ACTION=Install UIMODE=Normal /QUIET=True /IAcceptSQLServerLicenseTerms=True /InstanceId=SQLSERVERFINAL /SECURITYMODE=SQL /SAPWD=@123 /InstanceName=SQLSERVERFINAL /SQLSVCACCOUNT=xyz/user /SQLSVCPASSWORD=@123 /ADDCURRENTUSERASSQLADMIN=True /UpdateEnabled=False 但仍然无法通过SQL身份validation模式login。 所以build议我如何启用通过.bat文件中的命令的SQL身份validation的选项,Windows身份validation是成功的,它只是不启用SQL身份validation模式通过.bat文件。

获取父级子文件夹的相对path

我有一个庞大的batch file,我分成几个较小的,一个主文件分别调用每个较小的文件。 为了整洁,我将各个脚本放在项目文件夹的子文件夹中(主脚本位于项目文件夹中)。 然而,这已经造成了一个问题 – 我不能解决如何改变新的单个脚本中的一些path。 这里大概是什么样的布局: Project |—MasterScript.bat | |—Scripts | |—scriptA.bat | |—Exes | |—program.exe | |—config.xml 因此,主脚本调用每个批处理脚本 – A和脚本A使用参数/config config.xml调用program.exe 。 问题是如何解决program.exe和config.xml 。 我不幸的是刚刚砍了这些脚本在一起没有真正知道batch filepath如何解决,所以从字面上不知道如何编写相对path使用父文件夹等关系。 所以基本上我总是问如何编写相关的批处理path,特别是如何编写这些path。

如何使用Windows批处理循环

两个文件1.txt 2.txt 1.TXT a2441 b4321 p8763 2.txt Apple banana peach 我想在12.bat中生成内容 ren a2441 Apple ren b4321 banana ren p8763 peach 我试图这样写,但失败了 @echo on for /f %%a in (1.txt) do ( for /f %%b in (2.txt ) do ( ren %%a %%b>>12.bat ) ) pause 我怎样才能达到我想要的结果? 帮助我,谢谢

使用通配符进行复制

所以,因为我的最后一篇文章没有find一个好的soloution没有搞乱在registry中我会使用一个IF EXIST,但我遇到了麻烦使用通配符。 xcopy /s "%~dp0Hello\AVeryFormalPenguin.txt" "E:\Users\*\Desktop\TestBat\Oh\" /Y *应该find具有“桌面”文件夹的计算机的用户名。我将在其他计算机上运行该计算机,但可能在相同的位置可能没有桌面。 它应该replace*我的用户名,但我认为这实际上是试图find一个名为*的文件夹。 我不明白我做错了什么。

如何使用Windows的waitfor工具

Windows 7及更高版本包含一个名为“waitfor.exe”的实用程序。 该程序应该听取并等待一个命名的信号被接收。 它也可以发送信号。 等待信号的语法如下所示: waitfor.exe somevent 发送的语法应该是: waitfor.exe /S remotecomputer /SI somevent 。 也有指定用户和密码连接到远程计算机的选项。 但是我很难得到这个工作。 程序在等待信号时似乎工作正常。 但我从来没有能够让程序在发送模式下工作。 我试过这些可能性: waitfor /si someevent – 产生错误 – 错误:无法发送信号'someevent'。 waitfor /s someevent – 语法错误 waitfor /s %COMPUTERNAME% someevent – 语法错误 waitfor /s %COMPUTERNAME% /si someevent – 产生错误 – 错误:无法发送信号'someevent'。 我想用这个程序简单地在两个命令窗口之间同步,作为同一个用户运行。 也没有运行提升。 在这种情况下testing会产生上述错误。 我知道我可以find(或写)第三方实用程序来做到这一点,但我想使用一个Windows内置工具。 我也想避免使用PowerShell,因为它的性能差,对于我的用例。 此外,也知道我可以在接收端使用“如果存在”在一起拼凑一个同步机制,并在发送端创build一个文件(同上registry,使用reg.exe),但我想避免那也。 这种解决scheme的延迟与性能成反比(接收方需要使用轮询循环)。 有没有人知道如何使这个简单的同一台计算机相同的用户场景waitfor.exe工作? 还是其他内置的性能和零延迟? […]

为什么batch file中的特殊字符会打印为问号?

所以我刚刚在一个batch file游戏上工作,出于某种原因,它打印了一个问号符号,而不是笑脸符号(当你在命令提示符下按Ctrl + A时,会得到这个符号)。 我的程序ScreenShot 我有这些其他符号相同的问题: ctrl+a Smiley face ctrl+b Dark smiley face ctrl+d Diamond ctrl+e Clover ctrl+f Ace ctrl+n Music symbol crtl+o Some random circlish symbol ctrl+p Left arrow ctrl+q Right arrow ctrl+r Up and Down arrows ctrl+t Line wrap symbol ctrl+u Double s ctrl+v Thick underscore ctrl+w Up and down arrow with a […]

批次扫描dirs需要跳过定义的dirs

我有一个批处理扫描目录结构,并给出我定义的directorys的大小,他应该寻找。 例如目录'10XXX'包含子目录'10001','10002'和'10003'。 现在让我们说批处理应该在这些子目录中寻找目录'XYZ'。 结果是一个.csv,带有“10001 \ XYZ”100字节等信息; '10002 \ XYZ'2000 Bytes; '10003 \ XYZ'0字节。 问题是批处理每次运行时都会扫描每个目录,这会花费大量的时间和资源。 我的想法是在代码中实现一段代码,每次批处理开始扫描一个目录时,它会查看一个.txt文件(例如),当在该文件中find目录名称时,批量跳过目录。 这可能不是最有效的解决scheme,但是每次扫描每个目录需要的时间和资源会更less。 所以不同的想法当然是受欢迎的。 不幸的是我自己没有足够的知识去做,所以我希望有人能帮助我。 码: @echo off &setlocal set /p rootfolder=<Enter_Directory_Path_Here.txt set /p savefolder=<Enter_Save_Directory_Here.txt set "batpath=%~dp0" pushd "%rootfolder%" for /d %%i in (*) do ( set "foldername=%%~nxi" set "folder=%%i" >"%batpath%%%~nxi.csv" type nul for /f "delims=" %%j in ('dir /ad /b "%%i\*"') […]

基于Windows中的文件名中的第一个字创build文件夹?

我试图做一个batch file,将基于文件名中的第一个单词组织文件夹中的所有文件。 例如: Monkey 122.jpg Monkey 154.jpg Monkey 652.jpg Giraffe 433.jpg Giraffe 456.jpg Giraffe 883.jpg 将组织成2个文件夹:猴子长颈鹿 我有大约1500个文件,都有不同的名字,我想组织! 现在我正在使用 @for %%A in (*.jpg) do @for /f %%B in ("%%A") Do mkdir %%B 为每个文件名制作文件夹,但似乎无法弄清楚如何将它们移动到文件夹中

获取Windowsbatch file,以通配符匹配的内容为基础重命名文本文件

我有以下batch file,通过将文件内容中的下划线和字符附加到文件名称来重命名文本文件。 内容是从位置56的文件的第一行开始的5个字符。 我可以得到这个在我的例子中的单个文件(1.spl),但我不能解决如何得到这个文件夹中的所有* .spl文件运行。 @ECHO OFF SETLOCAL EnableDelayedExpansion for /F "delims=" %%i in (1.spl) do ( set Z=%%i goto BREAK1 ) :BREAK1 SET Z=%Z:~56,5% RENAME 1.spl 1_%Z%.spl