2017-10-09 16 views
0

私はWindowsバッチスクリプトを初めて使用していますが、存在しない場合はフォルダを作成し、 。バッチファイルはダブルクリックすると実行されませんが、コマンドプロンプトで完全に実行されます

コードはコマンドウィンドウの行を実行すると完全に機能しますが、.batファイルをダブルクリックすると機能しません。これに関するあなたの助けが必要です。

の.batファイルのスクリプト:

@echo off 
if not exist "D:\KUMAR_398519667_9262017" 
mkdir D:\KUMAR_398519667_9262017 
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017 
+0

「存在しない場合」D:\ KUMAR_398519667_9262017 "'は無効です。後でコマンドが必要な場合 –

答えて

0

commandは、コマンドまたはコマンドのグループがあるIF [NOT] EXIST filename commandある場合の構文。あなたはそれがその後、存在していなかった場合は、ディレクトリを作成し、そこにファイルを移動したい場合は、全体の事はあなただけにしたい場合はブロック

@echo off 
if not exist "D:\KUMAR_398519667_9262017" (
    mkdir D:\KUMAR_398519667_9262017 
    move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017 
) 

にコマンドを入れて1行

でなければなりません行う必要がある(一般的な場合)

コマンドに置かれるべきである:それは、次の存在していないディレクトリが十分

if not exist "D:\KUMAR_398519667_9262017" mkdir D:\KUMAR_398519667_9262017 
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017 
+0

OOh - 注意してください!最初のスニペットでは、コピー先のディレクトリが存在しない場合にのみ** **ファイルを移動します。 – Magoo

+0

@LưuVĩnhPhúcありがとうございます。コードは構文を修正した後に正常に機能しました。あなたの助けに感謝。 – Kumar

0

溶液1でありますif(あなたがフォーマットされていないコードを出てから、我々は唯一の形式を取ることができる)

if not exist "D:\KUMAR_398519667_9262017" mkdir D:\KUMAR_398519667_9262017 

ソリューション2と同じライン:(この場合)

mkdir(またはmd)コマンドが作成されます。そのディレクトリが存在しない場合はディレクトリにコピーし、既に存在する場合はエラーメッセージを生成します。

@echo off 
mkdir D:\KUMAR_398519667_9262017 2>nul 
move D:\Siebel\15.0.0.0.0\ses\siebsrvr\TEMP\10488_1540_0_4D44EED2-8EEE-11E7-B1F0-5056B24CF000.docx D:\KUMAR_398519667_9262017 

2>nulは、エラーメッセージを抑制します。彼らはスペースを含む念のために - - と先がディレクトリである場合\moveの宛先を終了(そして「の宛先名を囲む一般に

は、それが「ファイル名への完全なパスを引用」することをお勧めします引用符も含む)。 「良いアイデア」に注意してください。「絶対に必要」ではありません。

+0

ありがとう@Magoo、それはフォーマットの問題で、行とコマンド(mkdir)を1行で保存するようにコードを修正しました。ありがとうございました! – Kumar

関連する問題