मेरे पास एक बैच फ़ाइल है जो मुझे इस मंच में एक अन्य पोस्ट से मिली है जो उपयोगकर्ता के पथ को संपादित करती है लेकिन यह बम है यदि पथ में कोई प्रोग्राम फ़ाइलें (x86) प्रविष्टियाँ हैं जो विंडोज़ 7 मशीनों पर आम हैं। किसी भी विचार की स्क्रिप्ट को कैसे ठीक किया जाए ताकि वह इन प्रविष्टियों के साथ काम करे?
@echo OFF
set KEY_NAME="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
set VALUE_NAME=Path
FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName=%%A
set ValueValue=%%C
)
if defined ValueName (
set newPath=%ValueValue%;C:\bin
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %newPath% /f
set path=%path%;C:\bin
) else (
@echo %KEY_NAME%\%VALUE_NAME% not found.
)