উইন্ডোজ ডস / পাওয়ারশেলের নির্দিষ্ট ডিরেক্টরি কাঠামোর সাথে মেলে এমন সমস্ত ফাইল খোলার উপায় আছে কি?


0

আমি একটি উইন্ডোজ (সার্ভার ২০০৮) কম্পিউটারে যা ওয়েবসাইটগুলি পরিবেশন করে। সাইটগুলি ফোল্ডারে ভাগ করা হয়েছে:

c:/Websites/
           /www.mysite.com
           /www.mysite.co.uk
           /www.mysite.com.au
           /beta.mysite.com
           /beta.mysite.co.uk
           /www.mysite.com.au

এই ফোল্ডারগুলির প্রত্যেকটিই ওয়েবকনফিগের মতো কনফিগার ফাইলগুলি বাদে প্রায় অভিন্ন সামগ্রী ভাগ করে।

কিছু সম্পাদনা সম্পাদনের জন্য আমি এই সমস্ত ওয়েবসাইটের মধ্যে একই ফাইলটি খুলতে চাই।

ডস / পাওয়ারশেল কমান্ডটি কি আমি একই ডিরেক্টরি কাঠামো, ফাইলের নাম এবং এক্সটেনশান ভাগ করে এমন সমস্ত ফাইল খোলার জন্য লিখতে পারি, উদাহরণস্বরূপ, রুট ওয়েবসাইট ফোল্ডারের বাইরে নির্দিষ্ট ডিরেক্টরিগুলির মধ্যে থাকা কনফিগারেশন ফাইলগুলি খোলার?

আমি কি সেগুলি একটি নির্দিষ্ট পাঠ্য সম্পাদককে খুলতে পারি?


আপনার প্রশ্নটি বিভ্রান্তিকর। শিরোনামে আপনি ডিরেক্টরি কাঠামোর উপর ভিত্তি করে সমস্ত ফাইল খুলতে চান, তবুও আপনার প্রশ্নটি পড়ে মনে হচ্ছে এটি কেবল 1 ধরণের ফাইল এবং আপনি জানেন যে সেগুলি কোথায় (তাই কাঠামোর দ্বারা খোলার দরকার নেই)
ডেভ

ঠিক আছে - আমি প্রশ্নটি পরিষ্কার করে দিয়েছি
ডিজিগুরু

উত্তর:


1

এই পাওয়ারশেল স্ক্রিপ্টটি ব্যবহার করুন:

$editorPath = "C:\Program Files (x86)\Notepad++\notepad++.exe"
$websites = Get-ChildItem -Path "C:/Websites" | Where { $_.PSIsContainer }
foreach ($website in $websites)
{
    $webConfigPath = $website.FullName + "\web.config"
    if (Test-Path -Path $webConfigPath)
    {
        Start-Process -FilePath $editorPath -ArgumentList $webConfigPath
    }
}

এটি নোটপ্যাড ++ সহ web.configসমস্ত ফোল্ডারে সমস্ত ফাইল খুলবে C:/Websites

ওয়েবসাইটগুলি পেতে আপনি AppCmd.exe ব্যবহার করতে পারেন । এটি কেবলমাত্র সমস্ত ফোল্ডারের পরিবর্তে ওয়েবসাইটগুলি পাবে।


হাই দিগিগুরু, এই উত্তরটি কি আপনার পক্ষে কাজ করে?
রুবানভ

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

0

এই উত্তরটি মূল প্রশ্নের উপর ভিত্তি করে ছিল (যেহেতু প্রশ্ন আপডেট হয়েছে, এই উত্তরটি 100% প্রাসঙ্গিক নয় তবে, এটি ভবিষ্যতে এখনও কার্যকর হতে পারে তাই আমি এটি মুছব না)

আপনি একটি ব্যাচ ফাইলে স্টার্ট কমান্ডটি ব্যবহার করতে পারেন। যেহেতু আমি ধরে নিয়েছি কনফিগার ফাইলগুলি কোথায় রয়েছে তা আপনি ইতিমধ্যে জেনে গেছেন, আপনি একটি তালিকা লিখতে সক্ষম হবেন এবং তারপরে এটি একটি ব্যাচ ফাইল থেকে কার্যকর করতে পারবেন।

START c:/Websites/www.mysite.com/web.config  
START c:/Websites/www.mysite.co.uk/web.config  
START c:/Websites/www.mysite.au/web.config

কোনও নির্দিষ্ট সম্পাদকের সাথে খোলার জন্য আপনার কনফিগারেশন ফাইলটি সংযুক্ত করার প্রয়োজন হতে পারে কারণ এটি সম্পর্কিত প্রোগ্রামের সাথে ফাইলটি খুলবে।


ভবিষ্যতে আরও বেশি ওয়েবসাইট থাকতে পারে বলে ধরে নিচ্ছি, প্রতিবার নতুন সাইট আসার সময় আমি এই বিএটি ফাইলটি পরিবর্তন করতে চাই না।
ডিজিগুরু

0

এটির সম্পূর্ণতা আমি এখানে ব্যবহার করেছি স্ক্রিপ্ট is

#First choose an editor
$editorPath = "C:\Program Files (x86)\Notepad++\notepad++.exe"

#Next loop through a folder recusivly looking for "web.config"
#Recursive allows us to get websites stored inside websites
Get-ChildItem -Path "C:/Websites/" -recurse -filter web.config |

    #This is a where clause for each file.
    #I can find just the websites for a specific domain 
    #(or just delete this line below)
    ?{ $_.Directory.Name -match ".co.uk" } |

    #Now fire open that editor with this specific file
    %{Start-Process -FilePath $editorPath -ArgumentList $_.fullname}

ফাইলগুলি এডিট হওয়ার সাথে সাথে একে একে আপনার সম্পাদকের মধ্যে নেমে যায়।


0

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

find . -name web.config | xargs start notepad++

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

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