விண்டோஸ், பவர்ஷெல் மற்றும் நீண்ட பாதைகள்

விண்டோஸ், பவர்ஷெல் மற்றும் நீண்ட பாதைகள்

என்னைப் போலவே நீங்களும் வடிவத்தின் பாதைகளை அடிக்கடி பார்த்திருப்பீர்கள் என்று நினைக்கிறேன் !!! முக்கியமானது____புதிய____!!! நீக்காதே!!!ஆணை எண். 98819-649-B தேதியிட்ட பிப்ரவரி 30, 1985 கார்ப்பரேட் விஐபி வாடிக்கையாளர்களை ஆதரிப்பதற்கும் பக்கவாட்டில் வணிகக் கூட்டங்களை ஏற்பாடு செய்வதற்கும் இவான் அலெக்ஸாண்ட்ரோவிச் கோஸ்லோவ் துறையின் செயல் தலைவராக நியமிக்கப்பட்டார்..

பெரும்பாலும் நீங்கள் விண்டோஸில் அத்தகைய ஆவணத்தை உடனடியாக திறக்க முடியாது. யாரோ ஒருவர் வட்டு மேப்பிங் வடிவத்தில் பணிபுரிகிறார், யாரோ நீண்ட பாதைகளுடன் வேலை செய்யக்கூடிய கோப்பு மேலாளர்களைப் பயன்படுத்துகிறார்கள்: தூர மேலாளர், மொத்த தளபதி மற்றும் பல. மேலும் பலர் அவர்கள் உருவாக்கிய PS ஸ்கிரிப்ட், அதில் நிறைய வேலைகள் முதலீடு செய்யப்பட்டு, சோதனைச் சூழலில், போர்ச்சூழலில் களமிறங்கியது, ஒரு சாத்தியமற்ற பணியைப் பற்றி உதவியற்ற முறையில் புகார் செய்தது: குறிப்பிடப்பட்ட பாதை, கோப்பு பெயர் அல்லது இரண்டும் மிக நீளமாக உள்ளன. முழுத் தகுதியுள்ள கோப்புப் பெயர் 260 எழுத்துகளுக்குக் குறைவாகவும், கோப்பகத்தின் பெயர் 248 எழுத்துகளுக்குக் குறைவாகவும் இருக்க வேண்டும்.
அது முடிந்தவுடன், 260 எழுத்துக்கள் போதுமானது "அனைவருக்கும் மட்டுமல்ல." அனுமதிக்கப்பட்ட எல்லைகளுக்கு அப்பால் செல்ல நீங்கள் ஆர்வமாக இருந்தால், நான் பூனையின் கீழ் கேட்கிறேன்.

கோப்பு பாதையின் நீளத்தை கட்டுப்படுத்துவதால் ஏற்படும் சில துரதிர்ஷ்டவசமான விளைவுகள் இங்கே:

தலைப்பிலிருந்து சற்று விலகி, DFS பிரதியெடுப்பைப் பொறுத்தவரை, கட்டுரையில் கருதப்படும் சிக்கல் பயங்கரமானது அல்ல, நீண்ட பெயர்களைக் கொண்ட கோப்புகள் வெற்றிகரமாக சேவையகத்திலிருந்து சேவையகத்திற்குச் செல்கின்றன (நிச்சயமாக, இல்லையெனில் நீங்கள் சரியாக செய்யப்பட்டது).

ஒன்றுக்கு மேற்பட்ட முறை எனக்கு உதவிய மிகவும் பயனுள்ள பயன்பாட்டிற்கு கவனத்தை ஈர்க்க விரும்புகிறேன் ரோபோகோபி. அவளும் நீண்ட பாதைகளுக்கு பயப்படுவதில்லை, அவளுக்கு நிறைய தெரியும். எனவே, கோப்பு தரவை நகலெடுப்பது / மாற்றுவது என்ற பணி வந்தால், நீங்கள் அதை நிறுத்தலாம். கோப்பு முறைமை அணுகல் கட்டுப்பாட்டு பட்டியல்களில் (DACLs) நீங்கள் குழப்பமடைய விரும்பினால், விலகிப் பார்க்கவும் subinacl. அதன் கணிசமான வயது இருந்தபோதிலும், இது Windows 2012 R2 இல் தன்னை சரியாகக் காட்டியது. இங்கே விண்ணப்ப முறைகள் கருதப்படுகின்றன.

நீண்ட பவர்ஷெல் பாதைகளுடன் எவ்வாறு வேலை செய்வது என்பதை அறியவும் ஆர்வமாக இருந்தேன். அவருடன், இவான் சரேவிச் மற்றும் வாசிலிசா தி பியூட்டிஃபுல் பற்றிய தாடி வைத்த நகைச்சுவையைப் போலவே.

விரைவான வழி

Linux க்கு மாறவும், Windows 10/2016/2019 பற்றி கவலைப்பட வேண்டாம் மற்றும் பொருத்தமான குழு கொள்கை அமைப்பு/பதிவு மாற்றங்களை இயக்கவும். நான் இந்த முறையைப் பற்றி விரிவாகப் பேசமாட்டேன், ஏனென்றால். இந்த தலைப்பில் இணையத்தில் ஏற்கனவே பல கட்டுரைகள் உள்ளன, எடுத்துக்காட்டாக, இந்த.

பெரும்பாலான நிறுவனங்களில், லேசாகச் சொல்வதென்றால், இயங்குதளங்களின் புதிய பதிப்புகள் இல்லை என்பதைக் கருத்தில் கொண்டு, இந்த முறை காகிதத்தில் எழுதுவதற்கு மட்டுமே விரைவானது, நிச்சயமாக, சில மரபு அமைப்புகள் மற்றும் விண்டோஸ் கொண்ட அதிர்ஷ்டசாலிகளில் நீங்களும் ஒருவர் 10/2016/2019 ஆட்சி .

நீண்ட வழி

இந்த மாற்றங்கள் Windows Explorer இன் நடத்தையைப் பாதிக்காது, ஆனால் Get-Item, Get-ChildItem, Remove-Item போன்ற நீண்ட பாதைகளைப் PowerShell cmdlets இல் பயன்படுத்துவதை சாத்தியமாக்கும் என்பதை இங்கே நாங்கள் உடனடியாக முன்பதிவு செய்கிறோம்.

முதலில், PowerShell ஐ புதுப்பிப்போம். ஒன்று, இரண்டு, மூன்று முடிந்தது.

  1. நாங்கள் .NET கட்டமைப்பை குறைந்தபட்சம் 4.5 பதிப்பிற்கு புதுப்பிக்கிறோம். இயக்க முறைமை குறைந்தபட்சம் Windows 7 SP1/2008 R2 ஆக இருக்க வேண்டும். தற்போதைய பதிப்பை பதிவிறக்கம் செய்யலாம் இங்கேமேலும் தகவல்களை படிக்க இங்கே.
  2. பதிவிறக்க மற்றும் Windows Management Framework 5.1ஐ நிறுவவும்
  3. நாங்கள் இயந்திரத்தை மறுதொடக்கம் செய்கிறோம்.

கடின உழைப்பாளிகள் மேலே உள்ள படிகளை கைமுறையாக செய்யலாம், சோம்பேறிகள் SCCM, கொள்கைகள், ஸ்கிரிப்டுகள் மற்றும் பிற ஆட்டோமேஷன் கருவிகளின் உதவியுடன் செய்யலாம்.

PowerShell இன் தற்போதைய பதிப்பை மாறியிலிருந்து காணலாம் $PSVersionTable. புதுப்பித்தலுக்குப் பிறகு, இது இப்படி இருக்க வேண்டும்:

விண்டோஸ், பவர்ஷெல் மற்றும் நீண்ட பாதைகள்

இப்போது cmdlets ஐப் பயன்படுத்தும் போது பெற-ChildItem மற்றும் அவரைப் போன்ற மற்றவர்கள் வழக்கத்திற்குப் பதிலாக பாதை использовать நேரடி பாதை.

பாதைகளின் வடிவம் சற்று வித்தியாசமாக இருக்கும்:

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

பாதைகளை வழக்கமான வடிவமைப்பிலிருந்து வடிவத்திற்கு மாற்றும் வசதிக்காக நேரடி பாதை இந்த செயல்பாட்டை நீங்கள் பயன்படுத்தலாம்:

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"}
}

அளவுருவை அமைக்கும் போது கவனிக்கவும் நேரடி பாதை வைல்டு கார்டுகளைப் பயன்படுத்த முடியாது (*, ? மற்றும் பல).

அளவுருவுக்கு கூடுதலாக நேரடி பாதை, மேம்படுத்தப்பட்ட PowerShell cmdlet இல் பெற-ChildItem பெறப்பட்ட அளவுரு ஆழம், இதன் மூலம் நீங்கள் சுழல்நிலை தேடலுக்கான கூடு ஆழத்தை அமைக்கலாம், நான் அதை இரண்டு முறை பயன்படுத்தி திருப்தி அடைந்தேன்.

உங்கள் PS-ஸ்கிரிப்ட் ஒரு நீண்ட முட்கள் நிறைந்த பாதையில் இருந்து வழிதவறிவிடும் மற்றும் தொலைதூர கோப்புகளைப் பார்க்காது என்று இப்போது நீங்கள் பயப்பட முடியாது. எடுத்துக்காட்டாக, DFSR கோப்புறைகளில் உள்ள கோப்புகளுக்கான "தற்காலிக" பண்புக்கூறை மீட்டமைக்க ஸ்கிரிப்ட் எழுதும் போது இந்த அணுகுமுறை எனக்கு மிகவும் உதவியது. ஆனால் இது மற்றொரு கதை, நான் மற்றொரு கட்டுரையில் சொல்ல முயற்சிப்பேன். உங்களிடமிருந்து சுவாரஸ்யமான கருத்துகளுக்காக நான் காத்திருக்கிறேன், மேலும் கருத்துக்கணிப்பை மேற்கொள்ள பரிந்துரைக்கிறேன்.

பயனுள்ள இணைப்புகள்:
docs.microsoft.com/en-us/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

கருத்தைச் சேர்