Windows, PowerShell සහ දිගු මාර්ග

Windows, PowerShell සහ දිගු මාර්ග

මම හිතන්නේ ඔබත් මම වගේ මේ වගේ පාරවල් එක පාරකට වඩා දැකලා ඇති !!! වැදගත්____නව____!!! මකන්න එපා!!!98819 පෙබරවාරි 649 දිනැති අංක 30-1985-B නියෝගය Ivan Aleksandrovich Kozlov ආයතනික ප්‍රභූ ගනුදෙනුකරුවන්ට සහාය වීම සහ sidelines.doc හි ව්‍යාපාරික රැස්වීම් සංවිධානය කිරීම සඳහා දෙපාර්තමේන්තුවේ තාවකාලික වැඩබලන ප්‍රධානියා ලෙස පත් කිරීම මත.

බොහෝ විට ඔබට එවැනි ලේඛනයක් වින්ඩෝස් හි වහාම විවෘත කිරීමට නොහැකි වනු ඇත. සමහර අය තැටි සිතියම්ගත කිරීමේ ආකාරයෙන් වැඩ කිරීමට පුරුදු වෙති, තවත් අය දිගු මාර්ග සමඟ වැඩ කළ හැකි ගොනු කළමනාකරුවන් භාවිතා කරයි: Far Manager, Total Commander සහ ඒ හා සමාන ය. තවත් බොහෝ දෙනෙක් ඔවුන් විසින් නිර්මාණය කරන ලද PS ස්ක්‍රිප්ට් එක දෙස බලා සිටියේ, බොහෝ වැඩකටයුතු ආයෝජනය කර, පරීක්ෂණ පරිසරයේ තුෂ්නිම්භූතව වැඩ කළ, නිෂ්පාදන පරිසරයක, කළ නොහැකි කාර්යයක් ගැන අසරණව මැසිවිලි නඟන ආකාරයයි. නිශ්චිත මාර්ගය, ගොනු නම, හෝ දෙකම දිග වැඩිය. සම්පුර්ණ සුදුසුකම් ලත් ගොනු නාමය අක්ෂර 260 ට වඩා අඩු විය යුතු අතර නාමාවලියේ නම අක්ෂර 248 ට වඩා අඩු විය යුතුය.
එය හැරෙන පරිදි, අක්ෂර 260 "සියල්ලන්ට පමණක් නොවේ" ප්රමාණවත්ය. අවසර දී ඇති සීමාවන් ඉක්මවා යාමට ඔබ කැමති නම්, කරුණාකර බළලා වෙත යොමු වන්න.

ගොනු මාර්ගයේ දිග සීමා කිරීමේ අවාසනාවන්ත ප්‍රතිවිපාක කිහිපයක් මෙන්න:

මාතෘකාවෙන් තරමක් අපසරනය, DFS අනුකරණය සඳහා ලිපියේ සාකච්ඡා කර ඇති ගැටළුව භයානක නොවන බවත් දිගු නම් සහිත ලිපිගොනු සේවාදායකයෙන් සේවාදායකයට සාර්ථකව ගමන් කරන බවත් මම සටහන් කරමි (ඇත්ත වශයෙන්ම, අනෙක් සියල්ල එසේ නම් නිවැරදිව කළා).

එක් වරකට වඩා මට උපකාර කළ ඉතා ප්‍රයෝජනවත් උපයෝගීතාවයක් වෙත ඔබේ අවධානය යොමු කිරීමට ද මම කැමැත්තෙමි රොබෝ පිටපත. ඇය දිගු මාර්ගවලට බිය නොවන අතර ඇයට බොහෝ දේ කළ හැකිය. එබැවින්, කාර්යය ගොනු දත්ත පිටපත් කිරීම / මාරු කිරීම දක්වා පහත වැටේ නම්, ඔබට එතැනින් නතර කළ හැකිය. ඔබට ගොනු පද්ධති ප්‍රවේශ පාලන ලැයිස්තු (DACLs) සමඟ උපක්‍රම ක්‍රීඩා කිරීමට අවශ්‍ය නම්, ඉවතට බලන්න උප නාමය. එහි උසස් වයස තිබියදීත්, එය Windows 2012 R2 හි විශිෂ්ට ලෙස ක්‍රියා කළේය. මෙහි අයදුම් කිරීමේ ක්රම සලකා බලනු ලැබේ.

දිගු PowerShell මාර්ග සමඟ වැඩ කරන ආකාරය ඉගැන්වීමට මම උනන්දු විය. ඔහු සමඟ එය අයිවන් සාරෙවිච් සහ වාසිලීසා ද බියුටිෆුල් පිළිබඳ රැවුල සහිත විහිළුවක මෙන් ය.

වේගවත් මාර්ගය

Linux වෙත මාරු වී Windows 10/2016/2019 ගැන කරදර නොවන්න සහ සුදුසු කණ්ඩායම් ප්‍රතිපත්ති සැකසීම සක්‍රීය කරන්න/ලේඛනය වෙනස් කරන්න. මම මෙම ක්‍රමය ගැන විස්තරාත්මකව වාසය නොකරමි, මන්ද ... අන්තර්ජාලයේ මෙම මාතෘකාව පිළිබඳ බොහෝ ලිපි දැනටමත් තිබේ, උදාහරණයක් ලෙස, මේ.

බොහෝ සමාගම් සතුව බොහෝ සමාගම් ඇති බව සලකන විට, මෘදු ලෙස කිවහොත්, මෙහෙයුම් පද්ධතිවල නවතම අනුවාදයන් නොවේ, මෙම ක්‍රමය ඉක්මන් වන්නේ කඩදාසි මත ලිවීමට පමණි, ඇත්ත වශයෙන්ම, ඔබ පැරණි පද්ධති කිහිපයක් සහ Windows 10 ඇති වාසනාවන්ත අයගෙන් කෙනෙකි. /2016/2019 උත්තරීතර වේ.

දිගු මග

වෙනස්කම් වින්ඩෝස් එක්ස්ප්ලෝරර් හි හැසිරීමට බලපාන්නේ නැති නමුත්, Get-Item, Get-ChildItem, Remove-Item, වැනි PowerShell cmdlets හි දිගු මාර්ග භාවිතා කිරීමට හැකි වන බව අපි වහාම මෙහි වෙන්කරවා ගනිමු.

පළමුව, අපි PowerShell යාවත්කාලීන කරමු. එය එක, දෙක, තුන් වතාවක් සිදු කර ඇත.

  1. අපි .NET Framework 4.5 ට නොඅඩු අනුවාදයකට යාවත්කාලීන කරන්නෙමු. මෙහෙයුම් පද්ධතිය අවම වශයෙන් Windows 7 SP1/2008 R2 විය යුතුය. ඔබට වත්මන් අනුවාදය බාගත කළ හැකිය මෙහි, වැඩිදුර තොරතුරු කියවන්න මෙහි.
  2. බාගත කරන්න සහ Windows Management Framework 5.1 ස්ථාපනය කරන්න
  3. අපි යන්ත්රය නැවත ආරම්භ කරමු.

වෙහෙස මහන්සි වී වැඩ කරන පුද්ගලයින්ට ඉහත විස්තර කර ඇති පියවර අතින් කළ හැකිය, කම්මැලි අයට SCCM, ප්‍රතිපත්ති, ස්ක්‍රිප්ට් සහ වෙනත් ස්වයංක්‍රීය මෙවලම් ආධාරයෙන් එය කළ හැකිය.

PowerShell හි වත්මන් අනුවාදය විචල්‍යයෙන් සොයාගත හැකිය $PSVersionTable. යාවත්කාලීන කිරීමෙන් පසු එය මේ වගේ දෙයක් විය යුතුය:

Windows, PowerShell සහ දිගු මාර්ග

දැන් cmdlets භාවිතා කරන විට Get-ChildItem සහ සුපුරුදු දේ වෙනුවට මාර්ගය අපි භාවිතා කරන්නෙමු LiteralPath.

මාර්ග ආකෘතිය තරමක් වෙනස් වනු ඇත:

Get-ChildItem -LiteralPath "?C:Folder"
Get-ChildItem -LiteralPath "?UNCServerNameShare"
Get-ChildItem -LiteralPath "?UNC192.168.0.10Share"

සුපුරුදු ආකෘතියේ සිට ආකෘතියට මාර්ග පරිවර්තනය කිරීමේ පහසුව සඳහා LiteralPath ඔබට මෙම කාර්යය භාවිතා කළ හැකිය:

Function ConvertTo-LiteralPath 
Param([parameter(Mandatory=$true, Position=0)][String]$Path)
    If ($Path.Substring(0,2) -eq "") {Return ("?UNC" + $Path.Remove(0,1))}
    Else {Return "?$Path"}
}

පරාමිතිය සැකසීමේදී බව කරුණාවෙන් සලකන්න LiteralPath ඔබට Wildcards භාවිතා කළ නොහැක (*, ? ආදිය)

පරාමිතියට අමතරව LiteralPath, PowerShell cmdlet හි යාවත්කාලීන කළ අනුවාදයේ Get-ChildItem පරාමිතිය ලැබුණා ගැඹුර, ඔබට පුනරාවර්තන සෙවීම සඳහා කූඩු ගැඹුර සැකසිය හැකි, මම එය කිහිප වතාවක් භාවිතා කර සෑහීමකට පත් විය.

ඔබේ PS ස්ක්‍රිප්ටය දිගු කටු සහිත මාර්ගය ඔස්සේ නොමඟ ගොස් දුරස්ථ ගොනු දැකීමට නොහැකි වනු ඇතැයි දැන් ඔබට කරදර විය යුතු නැත. උදාහරණයක් ලෙස, DFSR ෆෝල්ඩරවල ගොනු වල "තාවකාලික" ගුණාංගය නැවත සැකසීමට ස්ක්‍රිප්ට් ලිවීමේදී මෙම ප්‍රවේශය මට බොහෝ උපකාර විය. නමුත් එය තවත් කතාවකි, මම වෙනත් ලිපියකින් කියන්නට උත්සාහ කරමි. මම ඔබෙන් රසවත් අදහස් බලාපොරොත්තු වන අතර ඔබට සමීක්ෂණය කිරීමට යෝජනා කරමි.

ප්‍රයෝජනවත් සබැඳි:
docs.microsoft.com/ru-ru/dotnet/api/microsoft.powershell.commands.contentcommandbase.literalpath?view=powershellsdk-1.1.0
docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-5.1
stackoverflow.com/questions/46308030/handling-path-too-long-exception-with-new-psdrive/46309524
luisabreu.wordpress.com/2013/02/15/theliteralpath-parameter

සමීක්ෂණයට සහභාගී විය හැක්කේ ලියාපදිංචි පරිශීලකයින්ට පමණි. පුරන්නකරුණාකර.

දිගු මාර්ග පිළිබඳ ගැටලුව ඔබට අදාළද?

  • බව

  • අදාළ විය, නමුත් දැනටමත් තීරණය කර ඇත

  • එය බාධා කරයි, නමුත් බොහෝ නොවේ

  • මම ඒ ගැන හිතුවේ නැහැ, හැම දෙයක්ම වැඩ කරනවා වගේ

  • කිසිදු

  • වෙනත් (කරුණාකර අදහස් දැක්වීම්වල සඳහන් කරන්න)

පරිශීලකයින් 155 දෙනෙක් ඡන්දය දුන්හ. පරිශීලකයින් 25 දෙනෙක් ඡන්දය දීමෙන් වැළකී සිටියහ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න