ملف دفعي لتوسيع / و
-
20-09-2019 - |
سؤال
لدي ملف (directories.txt
) مع أسماء الأدلة، كل منها على سطر واحد وأحب توسيع الخط
C:\Documents and Settings\%USERNAME%\My Documents
في البرنامج النصي الخاص بي إلى اسم المستخدم الحقيقي الذي يقوم بتشغيل البرنامج النصي.ومع ذلك فإن الصدى يخرج تمامًا مثل الخط و %USERNAME%
لا يتوسع.
FOR /f "tokens=*" %%X IN (directories.txt) DO (
ECHO %%X
)
يعرض الصدى "C:\Documents and Settings\%USERNAME%\My Documents" بدلاً من C:\Documents and Settings\ com.janco \مستنداتي
أيه أفكار؟
المحلول
لقد تمكنت من القيام بذلك باستخدام استبدال المتغير:
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=*" %%X IN (directories.txt) DO (
SET DIR=%%X
ECHO !DIR:%%USERNAME%%=%USERNAME%!
)
لا تنتمي إلى StackOverflow