আমার কাছে এই স্ক্রিপ্টটি রয়েছে যা ডিস্কের দুটি ক্ষেত্রের ফাইলগুলির সাথে তুলনা করে এবং পুরানো পরিবর্তিত তারিখের সাথে একটিতে সর্বশেষতম ফাইলটি অনুলিপি করে।
$filestowatch=get-content C:\H\files-to-watch.txt
$adminFiles=dir C:\H\admin\admin -recurse | ? { $fn=$_.FullName; ($filestowatch | % {$fn.contains($_)}) -contains $True}
$userFiles=dir C:\H\user\user -recurse | ? { $fn=$_.FullName; ($filestowatch | % {$fn.contains($_)}) -contains $True}
foreach($userfile in $userFiles)
{
$exactadminfile= $adminfiles | ? {$_.Name -eq $userfile.Name} |Select -First 1
$filetext1=[System.IO.File]::ReadAllText($exactadminfile.FullName)
$filetext2=[System.IO.File]::ReadAllText($userfile.FullName)
$equal = $filetext1 -ceq $filetext2 # case sensitive comparison
if ($equal) {
Write-Host "Checking == : " $userfile.FullName
continue;
}
if($exactadminfile.LastWriteTime -gt $userfile.LastWriteTime)
{
Write-Host "Checking != : " $userfile.FullName " >> user"
Copy-Item -Path $exactadminfile.FullName -Destination $userfile.FullName -Force
}
else
{
Write-Host "Checking != : " $userfile.FullName " >> admin"
Copy-Item -Path $userfile.FullName -Destination $exactadminfile.FullName -Force
}
}
এখানে ফাইলগুলি টু ওয়াচ.টেক্সটের ফর্ম্যাট রয়েছে
content\less\_light.less
content\less\_mixins.less
content\less\_variables.less
content\font-awesome\variables.less
content\font-awesome\mixins.less
content\font-awesome\path.less
content\font-awesome\core.less
আমি এটি সংশোধন করতে চাই যাতে ফাইল উভয় ক্ষেত্রে উপস্থিত না থাকে এবং একটি সতর্কতা বার্তা প্রিন্ট করে তবে এটি এটি করা এড়াতে পারে। কেউ আমাকে বলতে পারবেন যে আমি কীভাবে পাওয়ারশেল ব্যবহার করে কোনও ফাইল বিদ্যমান কিনা তা পরীক্ষা করে দেখতে পারি?