نسخة ملف دفعي لا الملف الوجهة موجودة بالفعل؟

StackOverflow https://stackoverflow.com/questions/1434928

  •  07-07-2019
  •  | 
  •  

سؤال

وهنا المتكررة. ٪٪ X هو مسار المصدر. أريد أن استبدال مسار المصدر مع مسار الوجهة أو مجرد إزالة مسار المصدر.

و٪ _ DEST٪ \ ٪٪ X لا يعمل في هذا المقتطف ... حيث بالتحقق مما إذا كان الملف الوجهة موجود بالفعل. ما هي الطريقة الصحيحة لتحقق لمعرفة ما إذا كان يوجد الملف الوجهة؟

call :LOGMSG Copying new jpeg image files
for %%X in (%_SRC%\*.jpeg) do if not exist %_DEST%\%%X (
    xcopy %_SRC%\%%X %_DEST% /defy >>"%run_log%"
    call sd.exe add %%X >>"%run_log%"
)
هل كانت مفيدة؟

المحلول

استخدم ~n في المتغير للتخلص من الجزء المسار. أيضا، لا تحتاج %_SRC\% في خط XCOPY:

call :LOGMSG Copying new jpeg image files
for %%X in (%_SRC%\*.jpeg) do if not exist %_DEST%\%%~nX (
    xcopy %%X %_DEST% /defy >>"%run_log%"
    call sd.exe add %%X >>"%run_log%"
)

تحقق من for /? لتفسير وغيرها من الأشياء الجيدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top