संक्षिप्त नाम (8dot3) पीढ़ी को कैसे बाध्य करें?


9

मुझे विंडोज़ विंडोज़ शॉर्टनेम के साथ समस्या है। कभी-कभी संक्षिप्त नाम "प्रोग्राम फाइल्स" और "प्रोग्राम फाइल्स (x86)" के लिए उत्पन्न नहीं होते हैं।

मैंने सत्यापित किया कि शॉर्ट नेम जेनरेशन सक्षम है, fsutil behavior query disable8dot3 C:जो मुझे बताता है कि सिस्टम वाइड सेटिंग 2(प्रति वॉल्यूम) है और स्थानीय मान है 0(8dot3 नाम बनाएं)।

यह लगभग इस तरह दिखना चाहिए (ध्यान दें कि यह एक जर्मन 32 बिट कॉपी है):

C:\>dir /a /x

 Verzeichnis von C:\

21.12.2011  00:17    <DIR>                       $Recycle.Bin
14.07.2009  05:53    <VERBINDUNG>   DOCUME~1     Documents and Settings [C:\Users]
09.01.2011  15:35    <VERBINDUNG>   DOKUME~1     Dokumente und Einstellungen [C:Users]
27.11.2013  15:11     2.147.016.704              pagefile.sys
14.07.2009  03:37    <DIR>                       PerfLogs
26.11.2013  17:31    <DIR>          PROGRA~1     Program Files
08.11.2013  21:58    <DIR>          PROGRA~2     ProgramData
09.01.2011  15:35    <VERBINDUNG>   PROGRA~3     Programme [C:\Program Files]
09.01.2011  15:35    <DIR>                       Recovery
26.11.2013  17:40    <DIR>          SYSTEM~1     System Volume Information
23.01.2011  15:00    <DIR>                       Temp
11.01.2011  20:56    <DIR>                       Users
08.11.2013  14:53    <DIR>                       Windows

हालाँकि एक अन्य मशीन (64 बिट कॉपी) पर, यह C:> dir / a / x जैसा दिखता है

 Verzeichnis von C:\

21.12.2011  00:17    <DIR>                       $Recycle.Bin
14.07.2009  05:53    <VERBINDUNG>   DOCUME~1     Documents and Settings [C:\Users]
09.01.2011  15:35    <VERBINDUNG>   DOKUME~1     Dokumente und Einstellungen [C:Users]
27.11.2013  15:11     2.147.016.704              pagefile.sys
14.07.2009  03:37    <DIR>                       PerfLogs
26.11.2013  17:31    <DIR>                       Program Files
26.11.2013  17:31    <DIR>                       Program Files (x86)
08.11.2013  21:58    <DIR>                       ProgramData
09.01.2011  15:35    <DIR>                       Recovery
26.11.2013  17:40    <DIR>          SYSTEM~1     System Volume Information
23.01.2011  15:00    <DIR>                       Temp
11.01.2011  20:56    <DIR>                       Users
08.11.2013  14:53    <DIR>                       Windows

जैसा कि आपने देखा होगा, प्रोग्राम फ़ोल्डर के लिए संक्षिप्त नाम गायब हैं।

सवाल अब यह है कि उन्हें कैसे उत्पन्न किया जाए, क्योंकि मुझे कुछ पुरानी लिपियों के लिए उन संक्षिप्त नामों की आवश्यकता है। मैंने कोशिश की fsutil file setshortname "Program Files" "PROGRA~1", लेकिन यह सिर्फ मुझे देता है Access denied.


एकमात्र तरीका मुझे पता है कि कैसे विंडोज शॉर्ट-नेम को री-जेनरेट करने जा रहा है ताकि डायरेक्टरी को कॉपी किया जा सके और ऑरिजनल को डिलीट किया जा सके। बेशक जो काम करने वाला नहीं है Program Files। लिपियों को समायोजित करना संभव नहीं है? इसके अलावा, मुझे आशा है कि स्क्रिप्ट यह नहीं सोच रही है कि Program Files-निर्माता हमेशा होता है PROGRA~1क्योंकि यदि ऐसा है तो आपकी पटकथा अंततः कुछ गंभीर संकट में चलेगी क्योंकि लघु-नाम हमेशा समान नहीं होते हैं। आप स्क्रिप्ट को लॉन्ग-नेम (शॉर्ट-नेम के बजाय) से ढूंढने में मदद कर सकते हैं।
राक

मैं संक्षिप्त नामों के साथ मुद्दों से अवगत हूं और मैं स्वयं उन लिपियों को कभी नहीं लिखूंगा। मैं हमेशा इस ( %programfiles%) के लिए env var का उपयोग करता हूँ । नाम बदलना वास्तव में काम नहीं करता है। शायद मैं ऑफ़लाइन से ऐसा कर सकता हूं? काम-काज हो सकता है।
pgampe

क्या आपने कमांड को व्यवस्थापक के रूप में चलाने की कोशिश की? किसी मौजूदा निर्देशिका के लिए 8.3 नाम बनाएँ
21:17

ज़रूर। काम नहीं किया।
pgampe

जवाबों:


5

जैसा कि मैंने अपनी टिप्पणी में कहा था ... एक ही तरीका है कि मुझे पता है कि कैसे विंडोज शॉर्ट-नेम को री-जेनरेट करने जा रहा है ताकि डायरेक्टरी को कॉपी किया जा सके और ओरिजिनल डिलीट किया जा सके। ("प्रोग्राम फाइल्स" डायरेक्टरी के लिए उल्लेखनीय नहीं है।)

लंबी फ़ाइल और फ़ोल्डर-नामों का उपयोग करने के लिए स्क्रिप्ट को बदलना सबसे अच्छा होगा। यदि स्क्रिप्ट का उपयोग करता है, तो PROGRA~1यह उन इंस्टॉलेशन के साथ परेशानी में पड़ जाएगा जहां ड्राइव को एक तरह से क्लोन किया गया था, जहां निर्देशिका को कॉपी किया गया था। उदाहरण के लिए यदि ProgramDataडिस्क पर पहली बार कॉपी की जाती है तो उसे नाम दिया जाएगा PROGRA~1और नाम दिया Program Filesजाएगा PROGRA~2

स्क्रिप्ट को अभी के लिए काम करने का विकल्प है :

आप एक बना सकते हैं निर्देशिका-जंक्शन से PROGRA~1करने के लिए C:\Program Files। इस तरह से स्क्रिप्ट काम करती रहती है और आपके पास उन्हें बदलने का समय होता है।

mklink /J "C:\PROGRA~1" "C:\Program Files"

का आउटपुट mklink /?:

Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.

डायरेक्टरी जंप का उपयोग करने का अच्छा विचार :)
pgampe

क्या mklinkस्थायी परिवर्तन किए गए हैं या वे सिर्फ बैच स्क्रिप्ट में काम करते हैं जो चलाया जा रहा है? क्षमा करें, मेरे पास सीमलिंक और जंक्शनों के बारे में पर्याप्त जानकारी नहीं है।
अलीरज़ा मोहम्मदी

@AlirezaMohamadi परिवर्तन के साथ किए गए mklinkस्थायी हैं। ठीक वैसे ही mkdir
रिक

9

प्रोग्राम फ़ाइलों के लिए शॉर्टनेम (8dot3) को परिभाषित करने के लिए निम्न कार्य करें:

  1. कंप्यूटर को पुनः शुरू करें
  2. cmd प्रॉम्प्ट (मेरे कंप्यूटर पर F8) के साथ बूटमोड में बूट प्रारंभ
  3. लॉग इन करें
  4. cmd प्रॉम्प्ट से निम्नलिखित cmds दर्ज करें

    fsutil 8dot3name query
    fsutil behavior set disable8dot3 0
    fsutil file setshortname "Program Files" PROGRA~1
    dir /X
    

अब आपको प्रोग्राम फ़ाइलों के लिए परिभाषित शोर्टनाम देखना चाहिए। यदि आप चाहें, तो मूल सेटिंग पर वापस जाएं जो क्वेरी cmd द्वारा 8dot3name व्यवहार सेट करें।


2
FWIW- मुझे इसमें से किसी के लिए अपने कंप्यूटर को रिबूट करने की आवश्यकता नहीं थी। इसके अलावा, आप अलग-अलग ड्राइव पर 8.3 को चुनिंदा रूप से सक्षम / अक्षम कर सकते हैं। इन सभी सेटिंग्स के लिए रजिस्ट्री स्थान HKLM: \ System \ CurrentControlSet \ Control \ FileSystem \ Ntfs * है। देखें support.microsoft.com/en-us/kb/121007
Coruscate5

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