基本的に、フォーマットのファイルが存在する場合はこれを行い、それ以外の場合は実行しないでください。Windows/Batch/CLI | exists/else文が変数で動作しないのはなぜですか?
.batファイルを切り替えると、最後にpause
というcmdウィンドウが点滅するだけです。
基本的に、フォーマットのファイルが存在する場合はこれを行い、それ以外の場合は実行しないでください。Windows/Batch/CLI | exists/else文が変数で動作しないのはなぜですか?
.batファイルを切り替えると、最後にpause
というcmdウィンドウが点滅するだけです。
else
が行の先頭に置かれている場合は、if
コマンドの一部ではなく、その行は無視されるか、エラーメッセージが印刷されます。閉じ括弧が必要です。そして外側には、コマンド出力を解析するのにfor /f
を使用するか、またはfor
をプレーングする必要があります。そして、あなたはこのようにしてください代わりにif exists
のif exist
を使用する必要があります。バッチファイルをドラッグし、それを実行し、
set format1=txt
set format2=pdf
for %%h in (*.%format1%) do (
if exist "%%h" (
for %%i in (*.%format2%) do (
copy "%%i" "pdf\%%i"
)
) else (
copy "%%h" "txt\%%h"
)
)
こんにちは、返信ありがとうございます。あまり変わっていない。まだ動かない。 – user3108268
@ user3108268 - 更新を確認してください。 – npocmaka
オハイオ州私は存在もtypoだった参照してください? – user3108268
オープンCMDウィンドウ、そして、あなたはすべてのエラーが表示されます。また、存在する場合は必要ありませんが、すでに見つかったファイルをループしています。 –
以下の[answer below](http://stackoverflow.com/a/43226133)で指摘されている構文エラーを修正した後、 'else%'節は実行されることは決してありません。ファイルのみ。コードが意図していることを明確に説明しておけば、あなたを助けるのがずっと簡単です。 – aschipfl