@@ -1327,13 +1327,27 @@ def _create_batch_scripts_initial(self):
1327
1327
call "%~dp0env.bat"
1328
1328
set WINPYWORKDIR=%~dp0..\Notebooks
1329
1329
1330
- set WINPYWORKDIR1=%~dp1
1331
- if "%WINPYWORKDIR1:~-1%"=="\" set WINPYWORKDIR1=%WINPYWORKDIR1:~0,-1%
1332
-
1333
- if "%WINPYWORKDIR1%"=="" (
1334
- if not "%CD%\"=="%~dp0" set WINPYWORKDIR1=%CD%
1330
+ rem default is as before: Winpython ..\Notebooks
1331
+ set WINPYWORKDIR1=%WINPYWORKDIR%
1332
+
1333
+ rem if we have a file or directory in %1 parameter, we use that directory
1334
+ if not "%~1"=="" (
1335
+ if exist "%~1" (
1336
+ if exist "%~1\" (
1337
+ rem echo it is a directory %~1
1338
+ set WINPYWORKDIR1=%~1
1339
+ ) else (
1340
+ rem echo it is a file %~1, so we take the directory %~dp1
1341
+ set WINPYWORKDIR1=%~dp1
1342
+ )
1343
+ )
1344
+ ) else (
1345
+ rem if it it launched from another directory , we keep it that one echo %CD%
1346
+ if not "%CD%\"=="%~dp0" set WINPYWORKDIR1=%CD%
1335
1347
)
1336
- if "%WINPYWORKDIR1%"=="" set WINPYWORKDIR1=%WINPYWORKDIR%
1348
+
1349
+ rem remove some potential last \
1350
+ if "%WINPYWORKDIR1:~-1%"=="\" set WINPYWORKDIR1=%WINPYWORKDIR1:~0,-1%
1337
1351
1338
1352
FOR /F "delims=" %%i IN ('cscript /nologo "%~dp0WinpythonIni.vbs"') DO set winpythontoexec=%%i
1339
1353
%winpythontoexec%set winpythontoexec=
@@ -1559,6 +1573,7 @@ def _create_batch_scripts(self):
1559
1573
'cmd.bat' ,
1560
1574
r"""@echo off
1561
1575
call "%~dp0env_for_icons.bat" %*
1576
+ if not "%WINPYWORKDIR%"=="%WINPYWORKDIR1%" cd %WINPYWORKDIR1%
1562
1577
cmd.exe /k""" ,
1563
1578
)
1564
1579
@@ -1567,6 +1582,7 @@ def _create_batch_scripts(self):
1567
1582
r"""@echo off
1568
1583 call "%~dp0env_for_icons.bat" %*
1569
1584
rem backward compatibility for python command-line users
1585
+ if not "%WINPYWORKDIR%"=="%WINPYWORKDIR1%" cd %WINPYWORKDIR1%
1570
1586
"%WINPYDIR%\python.exe" %*
1571
1587
""" ,
1572
1588
)
0 commit comments