Batch File Scripting Tips

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

Here are collected various batch file scripting tips for use when writing .bat files for use with WPKG.

@echo off
 
SET QUERY_HIVE=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
SET WPKGBIN=%SOFTWARE%\bin
 
for /F "usebackq skip=2 delims==" %%G IN (`reg query "%QUERY_HIVE%"`) DO (
REM Possible use of tokens=1,2 to avoid 2 for loops ?
REM  echo %%G | %WPKGBIN%\gawk -F"REG_EXPAND_SZ" "{gsub(/[ \t]+/, \"\", $1);gsub(/[ \t]+$/,\"\",$1);gsub(/^[ \t]+/, \"\", $2);gsub(/[ \t]+$/,\"\",$2);print($1\",\"$2)}"
  for /F "delims=" %%I IN ('echo %%G ^| %WPKGBIN%\gawk -F"REG_EXPAND_SZ" "{gsub(/[ \t]+/, \"\", $1);print($1)}"') DO (
    for /F "delims=" %%J IN ('echo %%G ^| %WPKGBIN%\gawk -F"REG_EXPAND_SZ" "{gsub(/^[ \t]+/, \"\", $2);gsub(/[ \t]+$/,\"\",$2); print($2)}"') DO (
       set %%I=%%J
REM       echo  %%I=%%J
    )
  )
)

To be use like this:

@echo off
 
IF "%Desktop%" == "" CALL %SOFTWARE%\bin\load-vars.cmd
 
echo "My Documents are located at %Personal%"
Personal tools
Namespaces
Variants
Actions
Navigation
ideas?
Toolbox