Bonjour,

Je modifie encore mon post.

Je vous poste ci dessous un code (qui fonctionne) mais qui ne renvoie pas le chemin complet du répertoire sélectionné :

@echo off
:loop

echo Choisissez le chemin d'acces du repertoire de votre .exe

set "tempfile=%temp%\file-%random%"
if exist "%tempfile%" goto :loop


call :getfile "c:\"

for /f "delims=" %%a in ('powershell "%tempfile%.ps1" ') do (
set "filepath=%%~dpa"
set "filename=%%~nxa"
)
del "%tempfile%.ps1"

echo Le chemin d'acces au fichier est : "%filepath%"
echo Le .exe selectionne est : "%filename%"

:loop2
echo Choisissez votre repertoire de sauvegarde


set "tempfile2=%temp%\file-%random%"
if exist "%tempfile2%" goto :loop2


call :getfile2 "c:\"

for /f "delims=" %%a in ('powershell "%tempfile2%.ps1" ') do (

set "path=%%~dpa"
)
del "%tempfile2%.ps1"


echo Le chemin d'acces au dossier est : "%path%"

pause

"%filepath%""%filename%" /Gui=FALSE "/BackupAll="%path%"MA_SAUVEGARDE.zip;

pause

:getfile2
(
echo $initialDirectory = "%~1"
echo [System.Reflection.Assembly]::LoadWithPartialName^("System.windows.forms"^) ^| Out-Null
echo $FolderBrowserDialog = New-Object System.Windows.Forms.FolderBrowserDialog
echo $FolderBrowserDialog.initialDirectory = $initialDirectory
echo $FolderBrowserDialog.ShowDialog^(^) ^| Out-Null
echo $FolderBrowserDialog.SelectedPath
) > "%tempfile2%.ps1"


:getfile
(
echo $initialDirectory = "%~1"
echo [System.Reflection.Assembly]::LoadWithPartialName^("System.windows.forms"^) ^| Out-Null
echo $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
echo $OpenFileDialog.initialDirectory = $initialDirectory
echo $OpenFileDialog.filter = "Fichier .exe(*.exe*)| *.exe*"
echo $OpenFileDialog.ShowDialog^(^) ^| Out-Null
echo $OpenFileDialog.filename
) > "%tempfile%.ps1"

goto :EOF


J'ai donc besoin de votre aide pour parvenir à afficher "le chemin d'accès au dossier est : "C:\Chemin\Selectionne\Complet""

J'ai fais quelques test mais sans parvenir au bon résultat, je pense que le problème est ici :

for /f "delims=" %%a in ('powershell "%tempfile2%.ps1" ') do (

set "path=%%~dpa"
)
del "%tempfile2%.ps1"

Voilà, si vous avez des idées de comment résoudre ce petit problème auquel je passe du temps alors qu'il ne me manque pas grand chose (je pense)...

Merci !