Sauvegarde de fichiers en BAK

Il est souvent pratique et utile, avant toute modification sur un fichier, de le sauve-garder avant.

J'ai fait ce tout petit script vbs qui permet d'un clic droit sur un fichier de créer une copie de sauvegarde de ce dernier (en lui ajoutant l'extension .bak).

En cas de pépin, il suffira de retirer l'extension .bak pour restaurer le fichier original.

Testé sur Windows 10 & 11.

Le script vbs

option explicit
dim nbArgs, fso, fichier, path, fichier_bak
nbArgs = WScript.Arguments.Count
if nbArgs = 1 then
		Set fso = WScript.CreateObject("Scripting.FileSystemObject")
		fichier = fso.GetFileName(WScript.Arguments(0))
		path = fso.GetParentFolderName(WScript.Arguments(0)) & "\"
		fichier_bak = fichier & ".bak"
		if fso.FileExists(path & fichier_bak) then
				MsgBox "Le fichier [" & fichier_bak & "] existe déjà.",vbExclamation,"Sauvegarde"
			else
				fso.CopyFile path & fichier, path & fichier_bak
				MsgBox "Création du fichier [" & fichier_bak & "] effectuée.",vbInformation,"Sauvegarde"
		end if
else
	MsgBox "Ce script doit-être exécuté à partir du menu contextuel d'un fichier.",vbExclamation,"Sauvegarde"
end if
Set fso = Nothing

Les fichiers reg

Inclure la fonction dans le menu contextuel des fichiers

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\saveBak]
@="Sauvegarde BAK"
"icon"="%SystemRoot%\\system32\\shell32.dll,258"

[HKEY_CLASSES_ROOT\*\shell\saveBak\command]
@="wscript.exe D:\\AppData\\Programmes\\saveBak\\save_bak.vbs \"%1\""
"DelegateExecute"=""

Changer la ligne @="wscript.exe D:\\AppData\\Programmes\\saveBak\\save_bak.vbs \"%1\"" suivant l'emplacement de save_bak.vbs.

Retirer la fonction du menu contextuel

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\saveBak]

 Le résultat en images

 save_bak_001

save_bak_002

 Téléchargement

save_bak.zip (save_bak.vbs, save_bak_add.reg, save_bak_remove.reg)

1 commentaire (Laisser un commentaire)

bruno
13/07/2023 15:56

TEST : Ceci est encore un test...

Laisser un commentaire (Seuls le nom et le commentaire sont requis).
Les commentaires sont modérés avant publication.