উইন্ডোজ ডিরেক্টরি / ফাইলের সংক্ষিপ্ত পথটি কীভাবে খুঁজে পাব?


70

আমি যে অ্যাপ্লিকেশনটি ব্যবহার করছি তার জন্য আমার সংক্ষিপ্ত পথের নামগুলি ব্যবহার করা দরকার। উদাহরণস্বরূপ, আমার C:\PROGRA~1\যেমন বিরোধিতা করা দরকার C:\Program Files। প্রোগ্রামটি স্পেসগুলি পরিচালনা করতে পারে না এবং উদ্ধৃত পাথগুলি গ্রহণ করবে না (যেমন "C:\Program Files")।

যদি এটি সহায়তা করে তবে আমি উইন্ডোজ am ব্যবহার করছি necessary প্রয়োজনীয়তার সাথে আমি এক্সপি থেকে যে কোনও সংস্করণে অ্যাক্সেস পেতে পারি।

উত্তর:


75

শুরু করুন, এবং cmdরান বাক্সে টাইপ করুন । সেন্টিমিডি শুরু করুন এবং cdআপনার আগ্রহী ফোল্ডারে যাওয়ার জন্য ব্যবহার করুন :

cd \

তারপর

dir /x

C:\>dir /x

13/10/2011  09:14 AM    <DIR>          DOCUME~1     Documents and Settings
13/10/2011  09:05 AM    <DIR>          PROGRA~1     Program Files

সুতরাং আপনি কি প্রতিটি সাবফোল্ডারটির জন্য পথটি করছেন?
এন্ডোলিথ

@endolith /sস্যুইচটি সাবফোল্ডারটি পুনরাবৃত্তি করে
পল

1
মানে আপনি কীভাবে পুরো 8.3 টি পথ প্রদর্শন করবেন?
এন্ডোলিথ

4
@ পল এটি Win10 তে কাজ করবে বলে মনে হচ্ছে না। কোন ধারনা?
অহঙ্গারআর্টিস্ট

2
@ এহুঙ্গারআর্টিস্ট সংক্ষিপ্ত ফাইলের নাম অগত্যা উপস্থিত নেই; তাদের সৃষ্টি বন্ধ করা যেতে পারে।
হিপ্পোনাক্স -৩৩

37

কিছু সুবিধাজনক ডিরেক্টরিতে একটি ব্যাট ফাইল তৈরি করুন তারপরে আপনি সেই পথ থেকে সংক্ষিপ্ত পথটি অনুলিপি করতে পারবেন।

আপনি কেবল চালাতে পারেন command.comএবং cdআপনার বর্তমান ডিরেক্টরিতে কমান্ডও চালিয়ে যেতে পারেন।

উইন্ডোজ ব্যাচ স্ক্রিপ্টগুলিতে, %~s1পথের পরামিতিগুলি সংক্ষিপ্ত নামে প্রসারিত করে । এই ব্যাচ ফাইলটি তৈরি করুন:

@ECHO OFF
echo %~s1

আমি আমার shortNamePath.cmdফোন করেছি এবং এটিকে কল করেছি:

C:\> shortNamePath "c:\Program Files (x86)\Android\android-sdk"
c:\PROGRA~2\Android\ANDROI~1

এখানে কোনও সংস্করণ যা বর্তমান ডিরেক্টরি ব্যবহার করে যদি কোনও প্যারামিটার সরবরাহ না করা হয়:

@ECHO OFF
if '%1'=='' (%0 .) else echo %~s1

পরামিতি ছাড়া কল করা:

C:\Program Files (x86)\Android\android-sdk> shortNamePath
C:\PROGRA~2\Android\ANDROI~1

ব্যবহার SETএবং একটি নাম পরিবর্তনশীল

উইন্ডোজ কমান্ড প্রম্পটে তাদের মানগুলিতে স্পেস সহ ভেরিয়েবলগুলি পরিচালনা করার জন্য কিছু কনভেনশন রয়েছে যা শিখতে এবং বুঝতে কিছুটা কঠিন, বিশেষত যদি আপনার ইউনিক্স পটভূমি থাকে। আপনি করতে পারেন

SET TESTPATH=c:\Program Files (x86)\Android\android-sdk

( কোন উদ্ধৃতি সহ ), বা

SET "TESTPATH=c:\Program Files (x86)\Android\android-sdk"

(উদ্ধৃতিগুলির স্বজ্ঞাত স্থান নোট করুন); তারপর

CALL :testargs "%TESTPATH%"
        ︙

:testargs
echo %~s1
goto :eof

6
সত্যই দরকারী, উত্তর হিসাবে চিহ্নিত করা উচিত!
লুকাফেরারিও

ধন্যবাদ! এটি একটি এসইটি কমান্ড ব্যবহার করে সক্ষম? SET AAA = C: files প্রোগ্রাম ফাইলগুলি files কি কখনও the মাঝের আরেকটি স্থান the সংক্ষিপ্ত সংস্করণে
Li3ro

@ লি 3ro আমি এসইটি ভেরিয়েবল কমান্ডের উপায়টি খুঁজে বের করতে পারিনি তবে আমি খুব কাছে এসেছি, আপনি উত্তরটির নীচে দেখতে পাচ্ছেন এটির জন্য কিছুটা ঠিক করা দরকার। আমি ব্যাচের স্ক্রিপ্ট প্রোগ্রামিংয়ে আছি না তাই কীভাবে জানি না।
এসএসপোক

এটি এইভাবে করণীয় নয়। আপনার
এটির

এটি গৃহীত উত্তরের চেয়ে আরও কার্যকর
এভিলটিচ

8

"সংক্ষিপ্ত নাম" প্রকৃতপক্ষে পুরানো ডস 8.3 নামকরণের কনভেনশন, সুতরাং সমস্ত ডিরেক্টরিগুলি প্রথম 6 টি অক্ষর হবে তারপরে ~1অনুমান করা হবে যে সেখানে কেবল একটির মিল আছে, উদাহরণস্বরূপ:

C:\ABCDEF~1    - C:\ABCDEFG I AM DIRECTORY
C:\BCDEFG~1    - C:\BCDEFGHIJKL M Another Directory

এখানে একমাত্র ব্যতিক্রম

C:\ABCDEF~1    - C:\ABCDEFG I AM DIRECTORY
C:\ABCDEF~2    - C:\ABCDEFGHI Directory as well

6
সত্য না. কখনও কখনও কম অক্ষর ব্যবহৃত হয়, বিশেষত যদি আপনি এশিয়ান অক্ষর যেমন কোরিয়ান ব্যবহার করছেন।
আরাফ্যাজিওন

1
আমি অনুমান করি যে "ব্যতিক্রমী" ক্ষেত্রে কোনটি কোনটি প্রশ্নের মূল বিষয় - বিশেষত "ব্যতিক্রম" প্রতি উইন্ডোজ 64৪ বিট ইনস্টলেশনটিতে নিয়মিত ঘটে, যেখানে আপনার জানা দরকার যে কোনটি বাইরে Program Filesএবং Program Files (x86)কোনটি PROGRA~1এবং কোনটি এক PROGRA~2পল এর উত্তর যে বিষয়টি সমাধান করে।
বা ম্যাপার

2
আমার কাছে এতগুলি ফাইল রয়েছে যা একই অক্ষর দিয়ে শুরু হয় যে এর মধ্যে চারটি ( ...~4) পরে এটি হ্যাশিংয়ের মতো দেখতে যেমন শুরু ABxxxx~1হয়েছিল , যেখানে এক্স হেক্সাডেসিমাল ছিল - যা পড়া খুব সহজ নয়।
সিরাপ

2
আপনি কি পরামর্শ দিচ্ছেন যে ব্যবহারকারী দীর্ঘ নামগুলি দেখে যুক্তিযুক্তভাবে সংক্ষিপ্ত নামগুলি বের করতে পারেন? এটা সত্যি না. আমি যদি তৈরি করি তবে ABCDEFGH-CATএটি সংক্ষিপ্ত নাম পায় ABCDEF~1। আমি যদি তখন তৈরি করি তবে ABCDEFGH-DOGএটির নাম হবে ABCDEF~2। যদি আমি তারপর মুছে ফেলতে ABCDEFGH-CAT, ABCDEFGH-DOGএখনও সংক্ষিপ্ত নাম আছে ABCDEF~2। কেবল দীর্ঘ নামগুলি দেখে বলার উপায় নেই।
স্কট

যেমনটি বলা হয়েছে, সংক্ষিপ্ত নামটি 6 টি প্রথম বর্ণের প্লাস হতে হবে না ~1উইন্ডোজ সংক্ষিপ্ত নাম তৈরি করতে যে নিয়ম ব্যবহার করে তা দেখুন । এবং আপনি নিজেই এর সাথে সংক্ষিপ্ত নামটিও সেট করতে পারেন fsutil, সুতরাং দুটি নামের সাথে কোনও সম্পর্ক নেই। শক্ত বা নরম লিঙ্কগুলি একা থাকুন
ফুক্লভি

7

এখানে একটি ওলাইনার রয়েছে :

cmd /c for %A in ("C:\Program Files") do @echo %~sA

ভাঙ্গন :

  • cmd /c - উইন্ডোজ কমান্ড ইন্টারপ্রেটারের একটি নতুন উদাহরণ শুরু করে, স্ট্রিং দ্বারা নির্দিষ্ট কমান্ডটি সম্পাদন করে এবং সমাপ্ত হয়
  • for %%parameter in (set) do কমান্ড - শর্তসাপেক্ষে বেশ কয়েকবার একটি কমান্ড সঞ্চালন করুন।
  • echo- স্ক্রিনে বার্তা প্রদর্শন করুন। @প্রতীকটি ECHO OFFকেবল বর্তমান লাইনে প্রয়োগের মতোই ।
  • %~s - প্রসারিত পথে কেবল সংক্ষিপ্ত নাম রয়েছে।

সূত্র :


1
নিস !!! আপনি এর সাথে "সি: \ প্রোগ্রাম ফাইলগুলি" প্রতিস্থাপন করতে পারেন। বর্তমান ডিরেক্টরিটির সংক্ষিপ্ত নামটি পেতে
অ্যান্ড্রু স্টিটজ

1
কখন / কেন আপনার প্রয়োজন হবে cmd /c? আপনি যদি কমান্ড প্রম্পট উইন্ডোতে থাকেন তবে আপনি কেবল for %A in ("C:\Program Files") do @echo %~sAকমান্ডটি টাইপ করতে পারেন এবং আপনি এটি "রান" ডায়ালগ বাক্সে টাইপ করলে ফলাফলটি এটি পড়ার আগে অদৃশ্য হয়ে যায়।
স্কট

1
সুন্দরভাবে সম্পন্ন; @ স্কট যেমন উল্লেখ করেছে, cmd /cকখন থেকে চলার দরকার নেই cmd; পাওয়ারশেল থেকে আপনার এটির দরকার আছে , তবে তারপরে আপনাকে '...'টোকেনগুলি বন্ধ করার পরেও দরকার হবে /c:cmd /c 'for %f in ("C:\Program Files") do @echo %~sf'
এমকিলেমেন্ট 0

3

ইভান শোয়ার্টজের উত্তরের অনুরূপ , আপনি %cd%বর্তমান সিটি পেতে "সি: \ প্রোগ্রাম ফাইলগুলি" প্রতিস্থাপন করতে পারেন :

cmd /c for %A in ("%cd%") do @echo %~sA  

2

আপনি যদি পাওয়ারশেল ইনস্টল করেন তবে বর্তমান ডিরেক্টরির (বা অন্য কিছু) এর সংক্ষিপ্ত পথের নামটি সমাধান করার খুব সহজ উপায় আমি পেয়েছি।

সর্বাধিক বর্তমান ডিয়ারে পাওয়ারশেল খুলুন

  • সেন্টিমিডি উইন্ডোজ টাইপ পাওয়ারশেল

  • আপনার যদি গুইতে ফোল্ডার খোলা থাকে তবে আপনি ফোল্ডারের ঠিকানা বারে সরাসরি cmd.exe বা পাওয়ারশেল.এক্সপি টাইপ করতে পারেন।

তারপর কমান্ড দিন

(New-Object -ComObject Scripting.FileSystemObject).GetFolder(".").ShortPath

তথ্যের উত্স: [ https://gallery.technet.microsoft.com/scriptcenter/Get-ShortName-90a49303]


0

বিকল্পভাবে, আপনি এই দুরন্ত ছোট্ট সরঞ্জামটি প্যাথকপিপি হিসাবে ব্যবহার করতে পারেন

কয়েকটি ক্লিকে, আপনি প্রাসঙ্গিক মেনু থেকে আক্ষরিক যে কোনও ফোল্ডারের দীর্ঘ এবং সংক্ষিপ্ত পথ পেতে পারেন, যেমন:

গন্তব্য ফোল্ডারে ডান ক্লিক করুন => পথের অনুলিপি => সংক্ষিপ্ত পথ।

সম্পন্ন. এটি আপনার ক্লিপবোর্ডে অনুলিপি করা হবে।

প্রিভিউ


0

আমি npm installবয়লারপ্লেটে চালিয়ে নোড মডিউলগুলি ইনস্টল করেছি । এই ফোল্ডারগুলি মোছার চেষ্টা করার সময়, উইন্ডোজগুলি সেগুলি মুছতে আমাদের অনুমতি দেয় না কারণ হ্যান্ডেল করতে সক্ষম হওয়ার পথটি দীর্ঘ।

কিছু অগভীর গবেষণার পরে, আমি ভেবেছিলাম যে এটি আমার নিজের কোড স্নিপেটের ফোল্ডারগুলি মূল থেকে পাতায় পুনরায় নামকরণ করা হবে যাতে এটি এই প্রচেষ্টার জন্য কোনও লঙ্ঘনের ব্যতিক্রমও ফেলতে পারে।

এটা আমার জন্য কাজ করে. সি # প্রকল্পের কোডটি নীচে দেওয়া হল।

    public static int directoryCounterIndex = 0;
    public static void Main(string[] args)
    {
        string dirPath = @"D:\Studies\MeanStack\a\nodem";
        RenameDirectories(dirPath);
    }

    private static void RenameDirectories(string dirPath)
    {
        directoryCounterIndex += 1;
        var newPath = Path.GetDirectoryName(dirPath) + Path.DirectorySeparatorChar + directoryCounterIndex.ToString();
        Directory.Move(dirPath, newPath);
        var subDirectories = Directory.GetDirectories(newPath);
        foreach (var subDirectory in subDirectories)
        {
            RenameDirectories(subDirectory);
        }
    }

3
প্রশ্নটি আবার মনোযোগ সহকারে পড়ুন। আপনার উত্তরটি মূল প্রশ্নের উত্তর দেয় না
ডেভিডপস্টিল

0
C:\Users\abcd>subst z: "c:\Program Files (x86)\Microsoft Office365 Tools\Microsoft Visual Studio 14.0"

C:\Users\abcd>subst
Z:\: => C:\Program Files (x86)\Microsoft Office365 Tools\Microsoft Visual Studio 14.0"

স্পেস সহ ফাইলগুলি নিয়ে কাজ করার সময় এটি আমি সবচেয়ে সহজ উপায় এবং এটি ফাইল এক্সপ্লোরার থেকেও অ্যাক্সেসযোগ্য এবং একই রকম অ্যাক্সেস সুবিধা রয়েছে।


-2

খালি স্থানগুলি দিয়ে প্রতিস্থাপন করুন

%20

জিনিসগুলিকে "অনুবাদিত" করার উপায় এবং স্থানগুলি% 20 এ চলে যায়।

আপনার যদি সত্যিই খুব বেশি প্রয়োজন হয় তবে কেবল নিজের ব্রাউজারটি খুলুন এবং এর মতো কিছু টাইপ করুন

test ";($#< and find the word test, and see that the space is %20 and so on...

আমি ঠিক মনে করি না তুমি ঠিক আছ এটি কোনও ইতিবাচক ফলাফল দেয় না:if exist C:\Program%20Files\ (echo exists)
কেলেলিফ্রি_অনডেক

3
আপনি সম্পূর্ণ ভিন্ন কিছু সম্পর্কে কথা বলছেন। মূল বিষয়টি হ'ল ডিরেক্টরি এবং ফাইলের নামগুলি 8 টি অক্ষরে ছিন্ন করা হয়। ব্রাউজারটি এর সাথে কিছু করার নেই।
দাউদ ফেরেঞ্জি রোগোয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.