web-dev-qa-db-ja.com

ファイルを変更したり、サードパーティのツールを使用したりせずに、Windowsでファイルをロックする方法

オンボードツールでファイルをロックして、削除または上書きできないようにする方法はありますか?

コピースクリプトのテストでは、lock files temporarilyスクリプトのエラー処理を確認します。 XPまで、私はdebug.exeにファイルをロードしてロックしました。

Windows 7以降に方法はありますか?

編集
私はこれを行うプログラムがあることを知っています。私の質問は、ウィンドウに組み込みのメカニズムがあるかどうかです。 PCでスクリプトを確認する必要があり、そのための新しいプログラムをインストールしたくない場合があります。

Edit2
ここにも良い提案があります: ファイルを意図的に排他的にロックする方法 ただし、サードパーティのツールが必要か、ロックするファイルを変更します。

24
marsh-wiggle

PowerShellはおそらくこれを達成するための最も近い方法だと思います。次のようなもの:

#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()

一時停止中、上記のスクリプトにより、「myfile.txt」を開こうとすると、次のプロンプトが表示されます。

enter image description here

46
Dan

実際には使用しないソフトウェアをインストールしたくないので、次のVBScriptの宝石を見つけました。

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

すべてのクレジットはTorgeir Bakkenに送られます。投稿の全文はこちらからご覧いただけます: http://www.pcreview.co.uk/threads/how-to-lock-files.1518829/

4

読み取り専用としてマークできませんか?これは、ファイルの変更または削除を許可しないことにより、ファイルを効果的に「ロック」します。

Attrib.exeコマンドはコマンドラインで使用でき、ファイルまたはディレクトリを読み取り専用に設定できます。そのコマンドの詳細情報は次のとおりです ここ

逆に、読み取り専用としてマークしたいファイルまたはディレクトリを右クリックし、プロパティを選択して、[読み取り専用]チェックボックスをオンにすることで、GUIから同じことを実行できます。 [適用/ OK]をクリックすると、新しい設定がファイルまたはディレクトリに適用されます。

0
Derek Wirch

右クリックしてファイルまたはフォルダーのプロパティに移動すると、[セキュリティ]タブでファイルへのアクセスを制限することはできませんか?

ユーザーがPCへの管理者アクセス権を持っている場合、これにより、ユーザーはファイル/フォルダーを操作する他のすべての機能を削除できなくなりますか?

入力時に、私の仕事用PCがまだWinXP Pro上にあることを認める必要があります。そのため、上記で述べたものはもう利用できない可能性があります。自宅の新しいWin 8.1 Proボックスでは、 Win XPでの長年の作業

0
Boots66