我创建了一个bat脚本来安装软件,然后使用fnr.exe查找并替换。我生成了一些我们的fnr.exe命令,并将其粘贴到.bat中。
现在,由于我已经从fnr.exe中生成了该文件,因此我编辑了以下命令以首先在C:\ Software \ fnr.exe下找到fnr.exe应用程序,如下所示(仅作为示例):
"C:\Software\fnr.exe" --silent --cl --dir "C:\software\bin" --fileMask "*.*" --excludeFileMask "*.dll, *.exe" --includeSubDirectories --find "Enabled= 0" --replace "Enabled= 1"
现在我的服务团队不是很熟练,在客户端计算机上安装此软件时,他们可能会将软件安装(文件夹)复制到其他位置(例如台式机),这意味着我的bat文件无法查找fnr.exe(根据脚本,因为它应该在C:\ software下),因此查找和替换将失败。
有办法解决吗?有什么建议?我可以在脚本中做一些可以概括化的事情,而不必在哪里复制安装文件夹以在客户端计算机上安装软件。
谢谢
如果我在这里正确理解了您,则可以执行以下操作:
fnr.exe --silent --cl --dir "C:\software\bin" --fileMask "*.*" --excludeFileMask "*.dll, *.exe" --includeSubDirectories --find "Enabled= 0" --replace "Enabled= 1"
只要fnr.exe与批处理文件位于同一文件夹中,该方法就可以工作。
如果这不起作用,则可能是由于批处理文件是从其他文件夹运行的(例如,使用C:\Software\Example.bat
;当前目录可能在任何位置)。
在这种情况下,请执行以下操作:
pushd "%~dp0"
fnr.exe --silent --cl --dir "C:\software\bin" --fileMask "*.*" --excludeFileMask "*.dll, *.exe" --includeSubDirectories --find "Enabled= 0" --replace "Enabled= 1"
popd
这会将当前目录临时设置为批处理文件的目录。(来源)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句