2016-10-21 7 views
1

あるフォルダから別のフォルダにファイルをコピーしようとしていますが、そのファイルがルックアップフォルダにある場合にのみソースフォルダからコピーします。ルックアップフォルダのファイルに基づいてソースフォルダからコピー先フォルダにファイルをコピー

私はちょうど今日バッチスクリプトを開始し、I Donno間違っている何が、私は2つのフォルダソースフォルダがあり、フォルダソースフォルダを調べる

destinationfolder 「Copy.bat sourcefolder lookupfolder」のようにそれを実行しています

@ECHO off 
For ℅℅a in (℅1\*) do (
Set file = "℅2\℅℅~na℅℅~xa" 
If exist ℅file℅ (
Echo yes 
// Copy to destination folder 

) 
Else(
Echo no 
) 
) 

私はファイルa.txtとb.txtに配置し、フォルダの参照にはb.txtしかありませんが、a.txtは検索には存在しませんが、印刷を2回実行します。

答えて

1

必要なコードは次のとおりです。これは:

For %%F in (%1\*) do (
    If Exist %2\%%~nxF (
     copy %%F %3\%%~nxF 
    ) 
) 

これをCopy.batファイルに保存し、cmd:

Copy.bat C:\a C:\b C:\c
から呼び出すと、フォルダbの中にも存在するフォルダaのファイルがフォルダcにコピーされます。シンボルの

説明:

  • %% F店のフォルダから解析され、現在のファイルのパス(たとえば、C:\ A \ A.TXT)
  • %%〜NXF店舗のみをファイル名(例:a.txt)
  • %1は、最初のパラメータ(C:\ aなど)の値を格納します。
  • %2は、2番目のパラメータ(C:\ bなど)の値を格納します。
  • %3は、3番目のパラメータ(C:\ cなど)の値を格納します
  • バッチコマンドの詳細については

このリンクを参照してください。http://ss64.com/nt/

私はこれは参考になりました:)

願っています
関連する問題