私はDropboxをインストールしましたが、探していたものに対応していなかったので、Revo Proでアンインストールしました。 しかし、私はtaskmanagerを開いてもまだ私のコンピュータで実行されているプロセスに関連しているので、それに関連するすべてのファイルを見て削除するようにバッチを作ることにしました。%errorlevel%はループコマンドで0を返します
@echo off
cd c:\
:a
set /p a=Phrase that might be realted to it
for /r %%d IN (*.*) DO (
(
findstr /i /m /c:%a% "%%d"
if "%errorlevel%"=="0" del "%%d"
echo %errorlevel%
)
)
pause
問題がある:私は%ERRORLEVEL%を0として返しますがanalizedファイルで私の変数「%%」のための一致がない場合でも、ループを使用します。findstr実行したときに、私はfindstrの一人で、そこに使用する場合一致しません%ERRORLEVEL%は一致すると1と0を返します。 私はそれを使用すると、私はすべての自分のPCファイルを削除します。コードの何が間違っていますか?
可能な複製(HTTP [Windowsのバッチ変数は設定しません]:/ /stackoverflow.com/questions/9681863/windows-batch-variables-wont-set) – SomethingDark
variabブロック内のファイルは1回だけ評価されます。 'setlocal enabledelayedexpansion'を使い、'%errorlevel% 'を'!errorlevel! 'に変更して、各繰り返しに対して評価された値を取得する必要があります。 – elzooilogico
実行中のプロセスの実行可能ファイルを削除することはできません。実行中のプロセスについては、スクリプトは何もしません。コンピュータを再起動し、離れたかどうかを確認してください。そうでない場合は、Dropboxを再インストールし、サードパーティ製のプログラムではなく、独自のアンインストーラを使用して正しくアンインストールしてください。 –