सिस्टम 32 को syswow64 में कॉपी करने से कोई समस्या?


0

मैंने .batएक प्रशासक के रूप में एक फ़ाइल चलाई । .batफ़ाइल सब कॉपी करने के लिए कहा .dllकरने के लिए वर्तमान निर्देशिका से फ़ाइलों syswow64निर्देशिका। कुछ इस तरह:

copy *.dll c:\windows\syswow64

दुर्भाग्य से, इसे एक व्यवस्थापक के रूप में चलाने से वर्तमान निर्देशिका को c:\windows\system32उस निर्देशिका के बजाय सेट किया .batगया था जो फ़ाइल में थी, इसलिए इसने .dllफ़ाइलों system32को कॉपी किया syswow64। आउटपुट में बहुत सारे .dllफ़ाइलनाम हैं, लेकिन बहुत सारे Access Denied.एस भी हैं। मैंने बैच को समाप्त कर दिया जैसे ही मैंने देखा कि इसे कॉपी करने के लिए 7 फाइलों के अलावा कुछ और नकल कर रहा था।

क्या यह उस स्टेशन के लिए हानिरहित है, या क्या यह समस्याग्रस्त है? क्या syswow64फ़ोल्डर को पुनर्स्थापित करने का कोई तरीका है , या मुझे परेशान नहीं करना चाहिए? क्या यह बताने का कोई तरीका भी है कि क्या कोई .dllफाइल प्रभावित हुई है?


4
यह एक भयानक विचार की तरह लगता है।
जर्नीमैन गीक

1
आप ड्राइव और पथ को प्राप्त करने के लिए अपनी बैच फ़ाइल में% ~ dp0 चर का उपयोग करके देख सकते हैं, जो कि स्टार्ट अप पर वर्तमान पथ को मानने के बजाय बैच फ़ाइल का पथ है।
बेवुल्फनोडे42

@ BeowulfNode42, सहमत। यदि आप ऐसा कुछ कर रहे हैं, तो आपको इसे "वर्तमान पथ मान लेने" के बजाय निर्देशिका को हार्ड कोडिंग करने पर विचार करना चाहिए। %~dp0आपको वर्तमान ड्राइव और पथ देगा। %~d0आपको बस वर्तमान ड्राइव देगा, आप इसमें जोड़ सकते हैं \specific\path। आप उपयोग भी कर सकते हैं %CD%और आपको वर्तमान निर्देशिका मिल जाएगी, %~dp0सिवाय इसके %CD%कि बैच फ़ाइलों में या सीधे सीएमडी प्रॉम्प्ट में उपयोग किया जा सकता है जबकि %~dp0चर एक .batविशेषता है।
द्विशताब्दी

@BiTinerary% 0 वर्तमान में चल रही बैच फ़ाइल का पूर्ण ड्राइव, पथ, फ़ाइल नाम और विस्तार है। % ~ dp0 बस वह चला रहा है और वर्तमान में चल रही बैच फ़ाइल के लिए पथ। इसका मौजूदा रास्ते से कोई लेना-देना नहीं है। अपने डेस्कटॉप पर पंक्तियों के साथ cd /d c:\windowsफिर अगली पंक्ति पर एक बैच फ़ाइल echo %~dp0
आज़माएँ

मैंने कभी भी " %0" का उल्लेख नहीं किया है .... मुझे पता है कि उनमें से प्रत्येक दूत क्या देख रहा है कि मैंने उन्हें दर्जनों बार कैसे उपयोग किया है ... क्या मुझे कुछ याद आ रहा है / गलतफहमी है? मेरे वर्णनात्मक वाक्यांशों को बंद किया जा सकता है, निश्चित रूप से। हालांकि मैं बारीकियों के बजाय दूतों के आवेदन का वर्णन करने के लिए अधिक प्रयास कर रहा था।
बायट्रिनरी

जवाबों:


4

निकट भविष्य में गंभीर समस्याएं हो सकती हैं।

भ्रामक रूप से पर्याप्त है, SysWOW64आपके द्वारा चलाए जाने वाले 32-बिट अनुप्रयोगों द्वारा उपयोग के लिए 32-बिट DLL रखता है, जबकि System32फ़ोल्डर में 64-बिट बायनेरी है।

डीएलएल फाइलें जो उपयोग में हैं या पहले से मौजूद हैं, उन्हें प्रतिस्थापित नहीं किया गया, लेकिन संभवतः 64-बिट डीएलएल का एक गुच्छा है जो एक फ़ोल्डर में हैं जहां केवल 32-बिट बायनेरिज़ को लोड किया जाना चाहिए (बहुत खराब)।

रिबूट करने के परिणाम हो सकते हैं। sfc /scannowसिस्टम अखंडता के किसी भी नुकसान को कम करने के लिए आपको जल्द से जल्द प्रदर्शन करना चाहिए ।


जब तक / y स्विच का उपयोग नहीं किया गया था, "जब आप मौजूदा गंतव्य फ़ाइल को अधिलेखित करना चाहते हैं, तो यह पुष्टि करने के लिए संकेत देता है।" तब SysWoW64 फ़ोल्डर में बस अतिरिक्त फाइलें होंगी।
बेवुल्फनोडे42

ओह, यह सही है, मैं उस कारक को भूल गया।
ओल्डमुड 0

मुझे लगता है कि मैं इस उत्तर को स्वीकार करूंगा; मुझे आश्चर्य है कि आप "बहुत खराब" के लिए विशिष्ट तर्क क्या हैं? यह शायद अच्छा नहीं है, लेकिन यह बुरा क्यों है?
डेव कजिनो

@Sahuagin यह उन कार्यक्रमों को भ्रमित कर सकता है जो DLL का पता लगाने पर निर्भर करते हैं और भविष्य में यादृच्छिक विसंगतिपूर्ण व्यवहार का नेतृत्व करते हैं (प्रोग्राम विशिष्ट व्यवहार के कारण)।
ओल्डमुड 0

1

अगर वे सिस्टम फ़ाइलों के नाम पर नहीं थे तो यह ठीक होगा क्योंकि नोटिंग उनका उपयोग करने की कोशिश करेगी। यदि उन्हें सिस्टम फ़ाइलों के नाम पर रखा गया है, जैसा कि संभावना है, वे सभी एक्सेस डेनी करेंगे क्योंकि किसी के पास व्यवस्थापक सहित सिस्टम फ़ाइलों को अधिलेखित करने के लिए एक्सेस है।

C:\Users\User>icacls c:\windows\system32\notepad.exe
c:\windows\system32\notepad.exe NT SERVICE\TrustedInstaller:(F)
                                BUILTIN\Administrators:(RX)
                                NT AUTHORITY\SYSTEM:(RX)
                                BUILTIN\Users:(RX)

Successfully processed 1 files; Failed processing 0 files

जैसा कि आप देख सकते हैं केवल TrustedInstaller (सेटअप / विंडोज़ अपडेट सुरक्षा छद्म उपयोगकर्ता) को अधिलेखित करने की अनुमति है।

ओवरराइट करने में सक्षम होने से पहले, एक व्यवस्थापक को स्वामित्व लेना चाहिए, खुद को अनुमति देनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.