2017-08-20 3 views
0

私はしばらく前にこのコードを作成しました。フォルダ名が存在する場合、ユーザーに別の名前を入力するように求める簡単なチェックです。何らかの理由で動作しません。フォルダが存在する場合、Goto AskForFolderNameになります。私はそれを把握することはできません。AskForFolderNameとfolderが.batに存在するかどうかを確認してください

@echo off 
@setlocal enableextensions enabledelayedexpansion 
mode 90,10 
color a 

::Stage 3 - Check Folder 
    :AskForFolderName 

    set /p NewFolder=What is the name of the iteam being sold? 
    If ["%NewFolder%"]==[] Goto AskForFolderName 
    If Exist "%NewFolder%" (
     Echo Folder already exists 
     Echo. 
     Goto AskForFolderName 
    ) 


    Mkdir "003 - Images Ready\%NewFolder%" 
    Move "002 - Process Images\"*.* "003 - Images Ready\%NewFolder%" 
    ping 127.0.0.1 -n 20 > nul 
    exit 
+1

両側が空のときエラーを回避するためにのみ二重引用符で囲む必要があります。したがって、If ["%NewFolder%"] == [] 'を' If "に置き換えてください。%NewFolder%" == "" ' – LotPings

+0

@LotPings、私はそれを行ってしまいました..アンビルはありません。 – Arthor

+0

@LotPings私はすべてのコードを追加してより明確にしました。 – Arthor

答えて

1

これを試してみてください:比較の

@echo off & setlocal enableextensions enabledelayedexpansion 
mode 90,10 
color a 

::Stage 3 - Check Folder 
:AskForFolderName 

set /p "NewFolder=What is the name of the iteam being sold? " 
If "%NewFolder%"=="" Goto :AskForFolderName 
If Exist "003 - Images Ready\%NewFolder%\" (
    Echo Folder already exists 
    Echo. 
    Goto AskForFolderName 
) 

Mkdir "003 - Images Ready\%NewFolder%" 
Move "002 - Process Images\*.*" "003 - Images Ready\%NewFolder%" 
Timeout /NoBreak /T 20 > nul 
exit 
+0

SPOT ON。ありがとう!!!!私は間違えているようです...場所は残念です。ありがとうございます。 – Arthor

+0

「If Exist」の末尾にスラッシュを追加することをお勧めします。003 - 画像はReady \%NewFolder%\ "';その他の場合は 'If Exist'は'%NewFolder% 'という名前のファイルを見つけ、その名前のディレクトリが存在すると報告します_ – Compo

+0

@Compo、常に良いprecau 。 – LotPings

関連する問題