উইন্ডোজে কোনও ফাইল পরিবর্তন না করে বা তৃতীয় পক্ষের সরঞ্জাম ব্যবহার না করে কীভাবে লক করবেন?


24

অন-বোর্ড সরঞ্জাম সহ কোনও ফাইল লক করার কোনও উপায় আছে যাতে এটি মুছে ফেলা বা ওভাররাইট করা যায় না?

অনুলিপি স্ক্রিপ্টগুলির পরীক্ষার জন্য আমাকে স্ক্রিপ্টগুলিতে lock files temporarilyত্রুটি পরিচালনা করার বিষয়টি পরীক্ষা করতে হবে। এক্সপি অবধি আমি লক করার জন্য একটি ফাইল ডিবাগ.এক্সে লোডিং ব্যবহার করেছিলাম।

উইন্ডোজ 7 (এবং পরে) এর কোনও উপায় আছে?

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

সম্পাদনা 2
এখানেও ভাল পরামর্শ রয়েছে: উদ্দেশ্যমূলকভাবে কোনও ফাইল লক করবেন কীভাবে? তবে এটির তৃতীয় পক্ষের সরঞ্জাম প্রয়োজন বা লক হওয়ার জন্য ফাইলটি পরিবর্তন করুন change


কি নোটপ্যাড কৌতুক তোমার জন্য কাজ করে?
নিক্সদা

1
@nixda নং এটি ফাইলটি ওভাররাইট করে। বর্তমান ফাইলটি পরিবর্তন না করে আমার লক করা দরকার।
মার্শ-উইগল

আমি দেখি. আমি আমার নিকটতম ভোটটি প্রত্যাহার করি
নিক্সদা

উত্তর:


45

আমি মনে করি এটি সম্পাদন করার জন্য পাওয়ারশেল সম্ভবত নিকৃষ্টতম উপায়। নিম্নলিখিত মত কিছু:

#Specify the file name
$fileName = "C:\myfile.txt"

#Open the file in read only mode, without sharing (I.e., locked as requested)
$file = [System.io.File]::Open($fileName, 'Open', 'Read', 'None')

#Wait in the above (file locked) state until the user presses a key
Write-Host "Press any key to continue ..."
$null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

#Close the file (This releases the current handle and unlocks the file)
$file.Close()

যখন বিরতি দেওয়া হয়েছিল, উপরোক্ত স্ক্রিপ্টটি "মাইফিল.টিএসটিএসটি" খোলার চেষ্টা করার সময় নিম্নলিখিত প্রম্পটগুলির কারণ করে:

এখানে চিত্র বর্ণনা লিখুন


2
গ্রেট! ধন্যবাদ! আমার লজ্জার জন্য, আমি অবশ্যই স্বীকার করতে পারি যে আমি পাওয়ারশেলে বিকাশ করেছি এবং এর জন্য নেট নেট ক্লাস ব্যবহার করার কথা ভাবি না। [আমি আশা করি এটি আর ছাড়বে না :-)]
মার্শ-উইগল

1
চমৎকার উত্তর. অদ্ভুত জন্য, এখানে থেকে দুটিই MSDN লিংক File::Openপদ্ধতি কল (বিশেষত গত যুক্তির পরামিতি বিশদ, 'None', ফাইল শেয়ারিং হ্রাসের অন্য কোন থ্রেড / প্রক্রিয়া - এবং অনুরূপভাবে, বিধান পঠন / লিখন কেবলমাত্র জন্য ফাইল লক করার অস্তিত্ব , বা এর সমন্বয়)।
ব্রেকথ্রু

1
@ মোয়াব ফাইলটি বন্ধ এবং হ্যান্ডেলটি শেষে প্রকাশিত হবে।
ড্যান

2
নোট করুন $host.UI.RawUI.ReadKey(...)পাওয়ারশেল আইএসইতে ব্যর্থ হবে কারণ রিডকি কী জন্য আইএসই প্রয়োগ করা হয়নি। কর্মক্ষেত্র হয় [void](Read-Host 'Press Enter to continue')। কোনও কি-র পরিবর্তে ব্যবহারকারীকে এন্টার টিপতে হবে ঠিক তার মতো নয়। তবে বেশিরভাগ উদ্দেশ্যে যথেষ্ট ভাল। এই ব্লগ পোস্ট থেকে কাজটি
সিমোনটউসি

4

যেহেতু আমি এমন সফ্টওয়্যার ইনস্টল করতে পছন্দ করি না যা আমি আসলে ব্যবহার করব না, তাই আমি ভিবিএস স্ক্রিপ্টের এই রত্নটি পেয়েছি:

Const ForAppending = 8
Set oFSO = CreateObject("Scripting.FileSystemObject")

Set f = oFSO.OpenTextFile("C:\Tst\My2.txt", ForAppending, True)

MsgBox "Press OK to unlock the file(s)"

সমস্ত কৃতিত্ব তোরেগির বাক্কেনের কাছে যায়, আপনি এখানে সম্পূর্ণ পোস্টটি দেখতে পাবেন: http://www.pcreview.co.uk/threads/how-to-lock-files.1518829/


যারা উপরের সমাধানটির মতো পাওয়ারশেল পছন্দ করেন না তাদের জন্য ভাল
মার্শ-

0

আপনি কি এটি কেবল পঠনযোগ্য হিসাবে চিহ্নিত করতে পারবেন না? এটি ফাইলটিকে পরিবর্তন বা মোছার অনুমতি না দিয়ে কার্যকরভাবে "লক" করবে।

কমান্ড লাইনে অ্যাট্রিবিউট.এক্স.সি. কমান্ড পাওয়া যায় এবং আপনাকে কোনও ফাইল বা ডিরেক্টরি সেটাকে কেবল পঠন করার অনুমতি দেয়। এই আদেশটির আরও তথ্য এখানে পাওয়া যাবে

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


3
কেবল পঠনযোগ্য বৈশিষ্ট্যটি কেবল পরিবর্তনগুলি থেকে প্রতিরোধ করে তবে মুছে ফেলা থেকে নয়।
কমফ্রিচ

0

আপনি যখন ডান ক্লিক করে ফাইল বা ফোল্ডারের জন্য সম্পত্তিগুলিতে যান, তখন কি সুরক্ষা ট্যাবের সাহায্যে ফাইলটিতে অ্যাক্সেসবিলিটি সীমাবদ্ধ করা সম্ভব হবে না?

ব্যবহারকারীর যদি পিসিতে অ্যাডমিন অ্যাক্সেস থাকে, তবে এটি কি তাকে ফাইল / ফোল্ডার দিয়ে অন্য সমস্ত কিছু করার ক্ষমতা সরাতে দেবে না?

আমার টাইপ করার সাথে সাথে আমাকে স্বীকার করতে হবে, আমার কাজ পিসি এখনও উইনএক্সপি প্রোতে রয়েছে, তাই উপরে আমি যা বলেছি তা আর পাওয়া যাবে না - আমি এখনও আমার নতুন উইন 8.1 প্রো বক্সটি নিয়ে আরামদায়ক নই উইন এক্সপি এর সাথে কাজ করার বছরগুলি


উপলব্ধ এনটিএফএসের কোনও অনুমতিই লক করা ফাইলের আচরণের নকল করবে না। নিকটতম ফাইলটি কেবল পঠনযোগ্য করে তুলবে, তবে আমরা নিশ্চিত হতে পারি যে ওপি সেই বিকল্পটি সম্পর্কে অবগত এবং একটি ভাল কারণে ফাইলটি লক করার বিষয়ে জিজ্ঞাসা করছে।
আমি বলছি মনিকা পুনরায় ইনস্টল করুন

-2

কিছু পরিস্থিতিতে ফাইলের নাম সহ নতুন ফোল্ডার তৈরি করা কাজটি করতে পারে। (অর্থাত ফাইলটি খোলার চেষ্টা করার সময় ত্রুটি পান)।


এটি সত্যই একটি মন্তব্য এবং মূল প্রশ্নের উত্তর নয়
ডেভিডপস্টিল

আমার জন্য এটি কার্যের উত্তর ছিল যা আমাকে এই পৃষ্ঠায় নিয়ে যায়। আপনার মতো লোকের কারণে কেউ তাদের অনুরূপ কাজ এটির সন্ধান করবে না।
noonex

3
ওপ একটি বিদ্যমান ফাইলটি কীভাবে লক করবেন তা জিজ্ঞাসা করছিলেন । একই নামে একটি ফোল্ডার তৈরি করা সম্ভব নয়। "একটি উপ-ডিরেক্টরি বা ফাইল এক্সএক্সএক্সএক্স ইতিমধ্যে বিদ্যমান" সুতরাং আপনার উত্তর প্রশ্নের সমস্যার ক্ষেত্রে প্রযোজ্য নয়।
DavidPostill

অ্যাপ্লিকেশনটি এটি সংশোধন বা খোলার চেষ্টা করে ত্রুটি পাবে তা নিশ্চিত করার জন্য আমার অনেকগুলি ক্ষেত্রে "বিদ্যমান ফাইলটি লক করুন" প্রয়োজন। আমি এখন স্পষ্টত বিষয়গুলি ব্যাখ্যা করা বন্ধ করব - স্যার, আপনার দিনটি শুভ হোক।
নুনেক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.