نسخة ملف دفعي لا الملف الوجهة موجودة بالفعل؟
-
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 /?
لتفسير وغيرها من الأشياء الجيدة.
لا تنتمي إلى StackOverflow