دفعة واحدة: اقرأ فقط اسم الملف من متغير مع المسار واسم

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

  •  19-08-2019
  •  | 
  •  

سؤال

وأنا أبحث حاليا عن وسيلة لاتخاذ متغير في دفعة وتحليل فقط من اسم الملف.

وعلى سبيل المثال، أمرر ملفي دفعة معلمة -s من تطبيق آخر وهو يحدد لاحقا إلى بلدي متغير المصدر. المتغير ملف المصدر يحتوي عادة شيء من هذا القبيل: C: الملفات \ برنامج \ اسم التطبيق \ Instance.1 \ البيانات \ filetomove.ext

وأفترض أن يقرأ من نهاية متغير حتى الأول "\" وتعيين النتيجة إلى اسم متغير جديد ولكن لم أكن قادرا على استخدام "ل/ و" commmand بنجاح.

وأي مساعدة سيكون محل تقدير كبير!

تحديث: فقط XP أو Windows القياسية 2000/2003 متاح ... (لا يمكن أن نفترض مجموعات الموارد مثبتة)

هل كانت مفيدة؟

المحلول

إذا دخولها في كحجة للنص، أي٪ 1 و٪ 2، وما إلى ذلك، يمكنك استخراج فقط اسم الملف والإرشاد إلى متغير مثل هذا:

set FILENAME=%~nxN

وحيث N هو مؤشر ذي الحجة. على سبيل المثال، فإن هذا السيناريو صدى مجرد اسم الملف من ذي الحجة الأولى:

@echo off
set FILENAME=%~nx1
echo %FILENAME%

نصائح أخرى

وتحسين قليلا نسخة:

set FILENAME="%~nx1"

ووالأقواس إضافية سيضمن أحرف خاصة، مثل '&'، لن تتدخل أثناء تنفيذ دفعة واحدة.

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