1. 程式人生 > >替換兩個路徑中相同檔名的圖片的批處理

替換兩個路徑中相同檔名的圖片的批處理

先貼上批處理
@echo off
:: 拷貝檔案批處理
:: 想法是:比較目標路徑和批處理路徑(%~dp0)中如果
:: 有相同的檔案,則從批處理路徑拷貝到目標路徑。
:: 設想用if/else來實現
:: ++++++++++++++++++++++++++++++++++++++++
setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir %userprofile%\desktop\*.jpg /b') do ( 
set dest=%%i
echo !dest!

for /f "delims=" %%i in ('dir %~dp0*.jpg /b') do (
set src=%%i
echo !src!

if "!dest!"=="!src!" (copy %~dp0!src! %userprofile%\desktop\!dest! /y
) else (
   echo file.missing
)
)
)
@ping 127.1 -n 10 > nul

::啟用延遲變數
::success at 22:08 2016/4/13 for make  do clause embeded.....
主要是啟動變數延遲,!var!,for巢狀。
然後擴充套件到批處理路徑%~dp0,這個路徑已經包含'\'