Retourner variable avec le chemin d'accès
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 !