কীভাবে সমস্ত সিম্বলিক লিঙ্ক, জংশন পয়েন্ট, একটি ফোল্ডারে হার্ড লিঙ্কগুলি দির ব্যবহার করে দেখুন?


30

কমান্ড dir / a একটি নির্দিষ্ট অবস্থানে সমস্ত ফাইল, ফোল্ডারের একটি তালিকা প্রদর্শন করে। তবে এটি জংশন পয়েন্টের প্রকারের পাশাপাশি ফোল্ডারে প্রতীকী লিঙ্কগুলি প্রদর্শন করে। এমন কোনও কমান্ড রয়েছে যা আমাকে আলাদা করবে এবং বলবে যে এগুলির মধ্যে কোনটি জংশন পয়েন্ট এবং কোনটি প্রতীকী লিঙ্কগুলির পাশাপাশি ফাইলগুলির মধ্যে হার্ড লিঙ্কগুলি?

উত্তর:


18

কেন ব্যবহার করবেন junction.exe SysInternals থেকে? এটি আপনাকে একটি নির্দিষ্ট ফোল্ডারে বা এর সাব ফোল্ডারে সমস্ত জংশন তালিকাভুক্ত করতে দেয় allows

ওয়েবসাইট থেকে:

ভূমিকা

উইন্ডোজ 2000 এবং উচ্চতর ডিরেক্টরি প্রতীকী লিঙ্কগুলিকে সমর্থন করে, যেখানে একটি ডিরেক্টরি কম্পিউটারে অন্য ডিরেক্টরিতে প্রতীকী লিঙ্ক হিসাবে কাজ করে। উদাহরণস্বরূপ, যদি ডিরেক্টরি D: Y SYMLINK নির্দিষ্ট করে C: \ WINNT \ SYSTEM32 তার লক্ষ্য হিসাবে নির্দিষ্ট করে, তবে ডি: Y SYMLINK \ চালকগুলিতে অ্যাক্সেস করা একটি অ্যাপ্লিকেশন বাস্তবে সি: \ WINNT \ SYSTEM32 \ চালকগণ অ্যাক্সেস করতে পারে। ডিরেক্টরি প্রতীকী লিঙ্কগুলি উইন্ডোজে এনটিএফএস জংশন হিসাবে পরিচিত। দুর্ভাগ্যক্রমে, উইন্ডোজ জংশন তৈরির জন্য কোনও সরঞ্জাম নিয়ে আসে না — আপনাকে উইন 2 কে রিসোর্স কিট কিনতে হবে, যা জংশন তৈরির জন্য লিংকড প্রোগ্রামের সাথে আসে। তাই আমি নিজের জংশন তৈরির সরঞ্জাম: জংশন লেখার সিদ্ধান্ত নিয়েছি। জংশন আপনাকে কেবল এনটিএফএস জংশন তৈরি করতে দেয় না, এটি আপনাকে ফাইল বা ডিরেক্টরিগুলি প্রকৃতপক্ষে পুনর্বার পয়েন্টগুলি দেখতে দেয়। পুনর্বার পয়েন্টগুলি এমন একটি প্রক্রিয়া যার উপর ভিত্তি করে এনটিএফএস জংশনগুলি,

জংশনগুলি ব্যবহারের পরামর্শের জন্য দয়া করে এই মাইক্রোসফ্ট কেবি নিবন্ধটি পড়ুন।

উইন্ডোজ দূরবর্তী শেয়ারের ডিরেক্টরিগুলিতে জংশনগুলি সমর্থন করে না Not

আপনি যদি তথ্য প্রদর্শন করতে চান তবে জংশনের জন্য ব্যবহারগুলি নিম্নলিখিত:

জংশন ব্যবহার করে

জংশনগুলি তালিকা করতে জংশনটি ব্যবহার করুন:

ব্যবহার: [-স]

- পুনরাবৃত্তি উপ-ডিরেক্টরি

উদাহরণ:

কোনও ফাইল একটি জংশন কিনা তা নির্ধারণ করতে, ফাইলের নামটি উল্লেখ করুন:

জংশন সি: \ পরীক্ষা

একটি ডিরেক্টরি নীচে জংশন তালিকা করতে, switch গুলি সুইচ অন্তর্ভুক্ত:

জংশন-এসএসসি: \

একটি জংশন তৈরি করতে সি: c "সি: \ প্রোগ্রাম ফাইলগুলি" এর জন্য প্রোগ্রাম-ফাইলগুলি:

সি:> এমডি প্রোগ্রাম-ফাইল

সি:> জংশন সি: \ প্রোগ্রাম-ফাইলগুলি "সি: \ প্রোগ্রাম ফাইলগুলি"

কোনও জংশন মুছতে, switchd সুইচটি ব্যবহার করুন:

জংশন-ডিসি: \ প্রোগ্রাম-ফাইল


1
"জংশন" সিম্বলিক লিঙ্ক এবং জংশন পয়েন্টগুলি সনাক্ত করতে পারে। ধন্যবাদ। এটি হার্ড লিঙ্কগুলি সনাক্ত করে না। কমান্ডটি আমাকে সমস্ত ফাইল / ফাইল নামগুলির একটি তালিকা দেবে যেগুলি হার্ড লিঙ্কগুলি। বিকল্পভাবে কোনও ফাইলের লিঙ্ক কাউন্ট পাওয়ার কোনও উপায় আছে? আমি জানি যে একটি ফাইলের লিঙ্ক গণনা এটির সাথে কতগুলি হার্ড লিঙ্ক রয়েছে তার সাথে মিলে যায়।
ধিওয়াকর রবিকুমার


49

জংশন, সিমলিংক এবং হার্ড লিঙ্কগুলি তালিকাভুক্ত করতে আপনাকে অতিরিক্ত প্রোগ্রাম ডাউনলোড করার দরকার নেই, তবে আপনার যদি নির্দিষ্ট আউটপুট ফর্ম্যাট প্রয়োজনীয়তা থাকে তবে তারা সহায়তা করতে পারে।

বর্তমান ডিরেক্টরি এবং এর উপ-ডিরেক্টরিতে সমস্ত জংশন, সিমলিংক এবং সিমলিংক ডিরেক্টরিগুলি তালিকাবদ্ধ করুন:

dir /al /s

অথবা আপনি যদি এগুলি আলাদাভাবে তালিকাবদ্ধ করতে চান ...

বর্তমান ডিরেক্টরি এবং এর উপ-ডিরেক্টরিতে সমস্ত জংশন তালিকাবদ্ধ করুন:

dir /al /s | findstr "<JUNCTION>"

বর্তমান ডিরেক্টরি এবং এর উপ-ডিরেক্টরিগুলিতে সমস্ত প্রতিলিঙ্কগুলি তালিকাবদ্ধ করুন:

dir /al /s | findstr "<SYMLINK>"

বর্তমান ডিরেক্টরি এবং এর উপ-ডিরেক্টরিতে সমস্ত সিমলিংক ডিরেক্টরি তালিকাবদ্ধ করুন:

dir /al /s | findstr "<SYMLINKD>"

lঅ্যাট্রিবিউট পতাকা এখানে চাবিকাঠি; lজন্য Reparse Points(সংযোগস্থলের, symlinks এবং সিমবলিক লিঙ্ক ডিরেক্টরি)

হার্ড লিঙ্ক

দুর্ভাগ্যক্রমে dirহার্ড লিঙ্কগুলি সাধারণ ফাইল হিসাবে তালিকাভুক্ত করে, তাই আপনি হার্ড লিঙ্কগুলি সনাক্ত করতে এটি ব্যবহার করতে পারবেন না। fsutilপরিবর্তে আপনি একটি অন্তর্নির্মিত ব্যবহার করুন। এটি একটি উন্নত কমান্ড প্রম্পট থেকে চালানো প্রয়োজন।

সহ fsutil, বর্তমান ডিরেক্টরি এবং এর উপ-ডিরেক্টরিতে সমস্ত হার্ড লিঙ্কগুলি তালিকাবদ্ধ করুন:

for /F "usebackq tokens=2* delims=:" %G in (`forfiles /s /c "cmd /c fsutil hardlink list @path | findstr /n .* | findstr /b /v 1"`) do @fsutil hardlink list "%G" & echo.

এই ওয়ান-লাইনারটি আদর্শ নয় এবং আমি কোনও উন্নতিকে স্বাগত জানাব।

  • forfilesপুনরাবৃত্তির সাব-ডিরেক্টরিগুলি ব্যবহার করে ( /s) আমার সিপিইউকে হামার করেছে এবং সম্পূর্ণ হতে কিছুক্ষণ সময় নিয়েছে।
  • fsutilমূলত দুইবার চলমান শেষ পর্যন্ত; প্রথমবার প্রতিটি কল দ্বারা ফিরে আসা আউটপুট লাইনের সংখ্যা গণনা করে হার্ড লিঙ্কগুলি সনাক্ত করতে এবং দ্বিতীয়বার আউটপুট সঠিক হওয়ার জন্য সন্ধান পাওয়া হার্ড লিঙ্কগুলিতে দ্বিতীয় বার।
  • নকল লাইন থাকবে। এগুলি অপসারণ করতে আপনি কোনও ফাইলের আউটপুট পুনর্নির্দেশ করতে চান এবং তারপরে কোনও সরঞ্জামের মাধ্যমে ফাইলটি চালাতে চান uniq

এখানে একটি ব্যাচ ফাইল রয়েছে যা কেবলমাত্র forহার্ড লিঙ্কগুলি সনাক্ত করতে ব্যবহার করে । এতে forfilesজড়িত নয়, এটি কিছুটা দ্রুত হতে পারে, তবে এটি এখনও উপরের ওয়ান-লাইনারের বাকী ক্যাভেটগুলি ভোগ করে।

@echo off
AT > NUL
if %ERRORLEVEL% NEQ 0 echo You need to run this script from an elevated command prompt. Exiting. && exit /B 1

for /R "%CD%" %%a IN (*.*) do (
 for /F "usebackq tokens=2* delims=:" %%b in (`fsutil hardlink list "%%a" ^| findstr /n .* ^| findstr /b /v 1`) do (
    fsutil hardlink list "%%b"
    REM The following echo command breaks up each group of hard links with a blank line
    echo.       
  )
)

আরও কয়েকটি (অপরিবর্তিত) বিকল্প রয়েছে:

(পুরানো) মাইক্রোসফ্ট এইচএল স্ক্যান ইউটিলিটিটি ব্যবহার করুন

hlscan /dir %CD%

বিকল্প ব্যবহার করুন খোঁজ কমান্ড যে Microsoft এর SFUA ইউটিলিটি টুলকিট সাথে আসে:

find . -links +1

উপরে উল্লিখিত একই পদ্ধতিতে সাইনস্টারনালসের ফাইন্ডলিংক ইউটিলিটিটি ব্যবহার করুনfsutil

ব্যবহারের Uwe Sieber এর ListLinks প্রোগ্রাম - ব্যবহারের জন্য লিংক দেখতে

আপনি যদি জিইআইআই অ্যাপ্লিকেশন পছন্দ করেন তবে নীরসফ্টের এনটিএফএসলিংক ভিউ ব্যবহার করুন


উইন্ডোজ In-এ, dir / al / s একটি সিমলিংক ডিরেক্টরিটি দেখায় না ওপিকে উইন্ডোজ ged ট্যাগ করা হয়েছে, সুতরাং এটি ওপিএস প্রশ্নের উত্তর দেয় না।
jaylweb

@ জাইলওয়েব (১) দির / আল / এস সমস্ত প্রতিস্থাপন পয়েন্ট তালিকাভুক্ত করে। কেবলমাত্র সিমলিংক ডিরেক্টরিগুলি তালিকা করার জন্য আমার উত্তরটি আরও নীচে দেখুন। (২) আপনি ভুল, এটি প্রশ্নের উত্তর দেয়।
জিমাদাইন

11

পাওয়ারশেল 5+ হিসাবে নিম্নলিখিত এক-লাইনার পুনরাবৃত্তভাবে সমস্ত ফাইল হার্ডলিঙ্ক, ডিরেক্টরি জংশন এবং প্রতীকী লিঙ্কগুলি এবং তাদের লক্ষ্যগুলি থেকে শুরু করে d:\Temp\:

dir 'd:\Temp' -recurse -force | ?{$_.LinkType} | select FullName,LinkType,Target

আউটপুট:

FullName                                LinkType     Target
--------                                --------     ------
D:\Temp\MyJunctionDir                   Junction     {D:\exp\junction_target_dir}
D:\Temp\MySymLinkDir                    SymbolicLink {D:\exp\symlink_target_dir}
D:\Temp\MyHardLinkFile.txt              HardLink     {D:\temp\MyHardLinkFile2.txt, D:\exp\hlink_target.xml}
D:\Temp\MyHardLinkFile2.txt             HardLink     {D:\temp\MyHardLinkFile.txt, D:\exp\hlink_target.xml}
D:\Temp\MySymLinkFile.txt               SymbolicLink {..\exp\symlink_target.xml}
D:\Temp\MySymLinkDir\MySymLinkFile2.txt SymbolicLink {D:\temp\normal file.txt}

যদি আপনি হার্ডলিঙ্কগুলির জন্য একাধিক লক্ষ্যবস্তু সম্পর্কে চিন্তা করেন তবে এই প্রকরণটি ব্যবহার করে যা লক্ষ্যগুলি ট্যাব-বিচ্ছিন্ন তালিকাবদ্ধ করে:

dir 'd:\Temp' -recurse -force | ?{$_.LinkType} | select FullName,LinkType,@{ Name="Targets"; Expression={$_.Target -join "`t"} }

এই স্ক্রিপ্টটি বলার জন্য আপনার প্রশাসকের অধিকারের প্রয়োজন হতে পারে C:\

এই স্ক্রিপ্টগুলি traditionalতিহ্যগত কমান্ড লাইন (সেমিডি.এক্সই) থেকে চালাতে:

PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "<PowerShell commands>"

এই ক্ষেত্রে:

C:\>PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "dir 'd:\Temp' -recurse -force | ?{ $_.LinkType } | select FullName, LinkType, @{ Name = \"Targets\"; Expression = { $_.Target -join \"`t\" } }"

শুধু জংশনগুলি দেখানোর জন্য আপনি কীভাবে এটি পরিবর্তন করেন? আমি পাওয়ারশেলের কমান্ডগুলির সাথে সত্যই পরিচিত নই।
জে স্কট এল্লেইন

1
@ জে.স্কোটলেবলিনdir 'd:\Temp' -recurse -force | ?{$_.LinkType -eq "Junction"} | select FullName,LinkType,Target
আন্তন ক্রোগলভ

LinkTypeপুনর্বার পয়েন্টগুলির জন্য নির্ভরযোগ্য বলে মনে হয় না। উদাহরণস্বরূপ, আমার কম্পিউটারে পিএস 5.1 সহ ডাব্লু 10 চলছে, LinkType"সি: \ প্রোগ্রামডাটা \ ডেস্কটপ" এবং "সি: \ ব্যবহারকারীগণ \ সমস্ত ব্যবহারকারী" উভয়ের পক্ষে বাতিল, যেখানে dir /aL(কমান্ড প্রম্পট, পাওয়ারশেল নয়) ইঙ্গিত করে যে প্রথমটি একটি জংশন পয়েন্ট এবং দ্বিতীয়টি একটি প্রতীকী লিঙ্ক।
নিউসাইট

@ নিউজসাইটস আপনি কি চালিত এলিভেটেড চালাচ্ছেন?
আন্তোন ক্রোগলভ

হ্যাঁ, প্রশাসক হিসাবে পিএস আইএসই চলছে running
নিউ সাইটস

3

হার্ড লিঙ্কগুলি উপরের মতো আরও ভালভাবে বর্ণিত হয়েছে, তবে সিম্বলিক লিঙ্ক এবং জংশনের জন্য নিম্নলিখিতটি সুন্দরভাবে কাজ করে:

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

উপরে কিছু ভাল রয়েছে তবে তারা আপনাকে কেবল টার্গেটের পথ দেয় এবং সাধারণত আপনি লিঙ্কটি মুছতে চান, লক্ষ্য নয়, বা সমস্ত লিঙ্ক এবং লক্ষ্যগুলি সম্পর্কযুক্ত।

প্রকার, লিঙ্ক এবং লক্ষ্য পেতে, আপনি সিএমডিতে নিম্নলিখিতটি ব্যবহার করতে পারেন:

FOR /F "Tokens=*" %A IN ('DIR /al /b /s G:\') DO @( for /F "Tokens=2,4 delims=<[]>" %B IN ('DIR /al "%~A"? ^| FIND /I " %~nA " ^| FIND /I "<" ^| FIND /I ">" ') DO @( ECHO.%~B: "%~A" → "%~C" ) )

উদাহরণ আউটপুট:

SYMLINK: "G:\FTP\Root" → "G:\FTP\Data"
JUNCTION: "G:\FTP\Junctioned\BT\02" → "W:\FTPRoot\02"

1

দূরবর্তী পরিচালক 3.0 উভয়ই সিমলিংক এবং জংশন পয়েন্টগুলি ফাইল এবং ডিরেক্টরি থেকে আলাদা হিসাবে সন্ধান করতে এবং প্রদর্শন করতে পারে। (এটি অন্যান্য অনেকগুলি কাজ করতে পারে)) এটি হার্ড লিঙ্কগুলিও অনুসন্ধান করতে পারে।

ALT+ F7=> [এক্স] ফিল্টার ব্যবহার করুন => ফিল্ট eআর =>Ins

আপনি যে বৈশিষ্ট্যগুলি চান তা চয়ন করুন।


0

LinkMagic2.exe (জংশন তালিকার যাদু) ভালও

আমি c:\user2 বছর আগে আমার প্রথম উইন্ডোজ ইনস্টল করার সময় প্রিন্সডুড, নেটহুড এবং অ্যাপ্লিকেশন ডেটার মতো আমার সমস্ত জংশন লিঙ্কগুলি ভুল করে মুছে ফেলেছিলাম কারণ আমি ভেবেছিলাম যে সেগুলি সেখানে ইনস্টল করে ভুল করে রাখা হয়েছিল। তারা সত্যিকারের জন্য পিছনের সামঞ্জস্যতা এবং ইন্টারনেট অনুসন্ধান করার সময় আমি দেখতে পাচ্ছি যে কিছুগুলি এই জংশন পয়েন্টগুলি ব্যতীত কিছু কিছু করার চেষ্টা করে সমস্যায় পড়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.