Problème de restauration de sauvegarde

Fermé
anakin6661 Messages postés 86 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 5 avril 2022 - 5 avril 2022 à 16:45
choubaka Messages postés 39403 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 17 novembre 2024 - 7 mai 2022 à 09:20
Bonjour à tous,

Je rencontre actuellement une problématique pour effectuer une restauration de données à partir du logiciel Acronis.
Dés que je fais une restauration, les dossiers vides créés par les utilisateurs stoppent la restauration.
Je ne vois pas d'autre solution que de créer des fichiers lambda et masqué dans ces dossiers vides.
A la main, c'est infaisable, j'ai des centaines, voir des milliers de dossier.
Je souhaiterai passer par un script PowerShell, j'ai trouvé la commande pour lister les dossiers mais maintenant se pose la question de comment créer un fichier masqué dans chaque dossier automatiquement.

Get-ChildItem "D:\" -Directory -Recurse | Where-Object -FilterScript {($_.GetFiles().Count -eq 0) -and $_.GetDirectories().Count -eq 0} | Select-Object -ExpandProperty FullName | Out-File C:\log\dossier_vide.txt

Il faut que je rajoute la commande pour stocker le résultat dans un fichier (j'ai rajouté | Out-File C:\log\dossier_vide.txt à ma commande) qui me servira ensuite à la création automatique des fichiers masqués.

Cette création de fichier en plus masqué, je n'ai pas pu trouver la commande PowerShell sur le net.
Pourriez vous m'assister sur cela ?
Si vous voyez une erreur dans mon script ou un script plus simple, je suis aussi preneur.
A voir également:

2 réponses

brucine Messages postés 17731 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 18 novembre 2024 2 582
5 avril 2022 à 17:08
Bonjour,

Il y a eu une question un peu comparable sur le forum il y a quelques jours.

Sous réserve (je n'ai pas vérifié ta syntaxe PowerShell) que ne soit extrait dans le log que le nom des dossiers sans leur chemin, le batch suivant devrait le faire; si le chemin est inclus, il faut bien sûr remplacer "D:\!FOLD!\" par !FOLD!


@echo off
CHCP 65001 >nul
COPY /Y NUL C:\log\vide.txt
ATTRIB +H C:\log\vide.txt

SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "delims=" %%a IN ('type "C:\log\dossier_vide.txt"') DO SET FOLD=%%a & CALL :PROCESS
GOTO :EOF

:PROCESS
COPY "C:\log\vide.txt" "D:\!FOLD!\" >nul
:EOF
0
choubaka Messages postés 39403 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 17 novembre 2024 2 102
7 mai 2022 à 09:20
bonjour

Tu as essayé avec < -Force > ?
0