我不知道怎么去检查。 这是一个脚本,用于列出记录中包含扩展名.pbo的文件,并将它们移动到第三方软件,以应用安全签名
for %%a in (*.pbo) do (
echo %%a
%TOOLSPATH%%app2% %key% %%a
:: DOES NOT WORK, WHY ?
:: DOES NOT WORK, WHY ?
:: DOES NOT WORK, WHY ?
IF %%a==Wrong private key file echo Error please restart tools
)
我的完整代码
@echo off
:: Defini le chemin du dossier sur la machine
SET TOOLSPATH=%~dp0
:: Defini les 2 fichiers nécéssaire à la création des signatures
SET app1=bin\DSCreateKey.exe
SET app2=bin\DSSignFile.exe
SET key=test.biprivatekey
SET corrompu=Votre logiciel est corrompu, merci de prendre contact avec @Flolax
IF NOT EXIST %TOOLSPATH%%app1% (
echo -----------ERREUR-----------
echo %TOOLSPATH%%app1% est introuvable
echo.
echo %corrompu%
)
IF NOT EXIST %TOOLSPATH%%app2% (
echo -----------ERREUR-----------
echo %TOOLSPATH%%app1% est introuvable
echo.
echo %corrompu%
)
cd %TOOLSPATH%\addons
for %%a in (*.pbo) do (
echo %%a
%TOOLSPATH%%app2% %key% %%a
IF %%a==Wrong private key file echo erreur
)
pause
AND SCREEN
答案 0 :(得分:0)
for %%a in (*.pbo) do (
echo %%a
%TOOLSPATH%%app2% %key% %%a
IF "%%a"=="Wrong private key file" echo erreur
批次需要知道要分组的元素。 "quoting a space-separated string"
将该短语分组为一个项目。
<强> BUT 强>
%%a
这里将是*.pbo
文件的名称,因此它永远不会匹配该字符串。
正如我所说,%%a
这里将是*.pbo
文件的名称,因此它永远不会匹配该字符串,您应该能够确定它是{{1} }编辑。 echo
的值永远不会与%%a
将命令的输出分配给变量(在本例中为元变量Wrong private key file
)使用
%%r
由于我们没有for /f "delims=" %%r in ('%TOOLSPATH%%app2% %key% %%a') do IF "%%r"=="Wrong private key file" echo erreur
身份输出的迹象,因此无法确定此代码是否可行。需要更多信息。
哦 - 请删除你的回答&#34;因为它不是答案,而是评论。
啊 - 应用程序向app2
发送消息是不寻常的,即使它在逻辑上是正确的。试试这个......
stderr
for /f "delims=" %%r in ('%TOOLSPATH%%app2% %key% %%a 2^>^&1') do IF "%%r"=="Wrong private key file" echo erreur
体操将2^>^&1
输出重定向到stderr
。 stdout
要求插入符号cmd
在^
命令的引号内转义特殊字符>
和&
。