#1178: WinGrass: g.extension - problem with path to $GISBASE ---------------------------------------------------------------+------------ Reporter: hellik | Owner: grass-...@… Type: defect | Status: new Priority: major | Milestone: 6.4.1 Component: Installation | Version: svn-releasebranch64 Keywords: wingrass, g.extension, path, installation, addons | Platform: MSWindows Vista Cpu: x86-32 | ---------------------------------------------------------------+------------
Comment(by hellik): Replying to [comment:6 glynn]: > Replying to [comment:3 hellik]: > > > with added -x in the first line: > > > {{{ > Makefile:12: c:/Program: No such file or directory > Makefile:12: Files/GRASS-64-SVN/include/Make/Module.make: No such file or directory > }}} > > Makefiles can't handle spaces in filenames, and this is rather fundamental to the way make works. Spaces separate tokens, and there isn't any (documented) mechanism to quote spaces. > > If the variables were only used in commands, you could quote them, but that won't work elsewhere (e.g. "include" statements or dependencies). > > The only workaround I know is to use 8.3 names (e.g. "/c/progra~1" rather than "/c/Program Files"), but I don't know how to perform that conversion from within a script (from C, you can use GetShortPathName()). would a little bat-script on the windows-command-line help? {{{ %~1 - expands %1 removing any surrounding quotes (") %~f1 - expands %1 to a fully qualified path name %~d1 - expands %1 to a drive letter only %~p1 - expands %1 to a path only %~n1 - expands %1 to a file name only %~x1 - expands %1 to a file extension only %~s1 - expanded path contains short names only %~a1 - expands %1 to file attributes %~t1 - expands %1 to date/time of file %~z1 - expands %1 to size of file %~$PATH:1 - searches the directories listed in the PATH environment variable and expands %1 to the fully qualified name of the first one found. If the environment variable name is not defined or the file is not found by the search, then this modifier expands to the empty string The modifiers can be combined to get compound results: %~dp1 - expands %1 to a drive letter and path only %~nx1 - expands %1 to a file name and extension only %~dp$PATH:1 - searches the directories listed in the PATH environment variable for %1 and expands to the drive letter and path of the first one found. %~ftza1 - expands %1 to a DIR like output line }}} for example param.bat: {{{ @echo off echo %%~1 = %~1 echo %%~f1 = %~f1 echo %%~d1 = %~d1 echo %%~p1 = %~p1 echo %%~n1 = %~n1 echo %%~x1 = %~x1 echo %%~s1 = %~s1 echo %%~a1 = %~a1 echo %%~t1 = %~t1 echo %%~z1 = %~z1 echo %%~$PATHATH:1 = %~$PATHATH:1 echo %%~dp1 = %~dp1 echo %%~nx1 = %~nx1 echo %%~dp$PATH:1 = %~dp$PATH:1 echo %%~ftza1 = %~ftza1 }}} a little test with following installation path "C:\Program Files\GRASS-64-SVN\" {{{ C:\wd>param.bat "C:\Program Files\GRASS-64-SVN\" %~1 = C:\Program Files\GRASS-64-SVN\ %~f1 = C:\Program Files\GRASS-64-SVN\ %~d1 = C: %~p1 = \Program Files\GRASS-64-SVN\ %~n1 = %~x1 = %~s1 = C:\PROGRA~1\GRASS-~2\ %~a1 = d----c--- %~t1 = 25.09.2010 16:56 %~z1 = 4096 %~$PATHATH:1 = %~dp1 = C:\Program Files\GRASS-64-SVN\ %~nx1 = %~dp$PATH:1 = C:\Program Files\GRASS-64-SVN\ %~ftza1 = d----c--- 25.09.2010 16:56 4096 C:\Program Files\GRASS-64-SVN\ C:\wd> }}} Helmut -- Ticket URL: <http://trac.osgeo.org/grass/ticket/1178#comment:7> GRASS GIS <http://grass.osgeo.org>
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev