Jump to content

import current path into registry by commandline


Recommended Posts

Posted

I have this registry key

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Collectorz.com\Movie\Databases]
"CurrentDatabase"="D:\\Movie Collectorz\\Data\\khanh.mvc"

Can you tell me the commandline or autosit script to import the key into registry with the "D:\\Movie Collectorz\\Data\\" replaced by the current path of the cmd file.

Thank you very much


Posted

reg add HKCU\Software\Collectorz.com\Movie\Databases /v CurrentDatabase /t REG_SZ /d "%CD%"

Will only have a problem if the current directory is the root directory.

Posted (edited)

Cmd

Set CurPath=%~dp0 
Set CurPath=%CurPath:~0,-2%
REG ADD "HKCU\Software\Collectorz.com\Movie\Databases" /v CurrentDatabase /t REG_SZ /d "%CurPath%"

Autoit

RegWrite('HKCU\Software\Collectorz.com\Movie\Databases', 'CurrentDatabase', 'REG_SZ', @ScriptDir)

Edited by Rico.JohnnY
Posted

@Rico.JohnnY

Your code is wrong, try this to see what I mean!

@ECHO OFF

SET CURPATH=%~DP0

ECHO/%CURPATH%

SET CURPATH=%CURPATH:~0,-2%

ECHO/%CURPATH%

PAUSE

If the location of your running script was C:\Documents and Settings\Rico\Scripting\MyBatch.cmd, your registry input would look like this

C:\Documents and Settings\Rico\Scriptin

I think you may have been looking for %CURPATH:~0,-1%.

I would still be tempted to go with IcemanNDs version which used the current path, and not the location of the script too!

REG ADD HKCU\Software\Collectorz.com\Movie\Databases /V CurrentDatabase /D "%CD%" /F>NUL

Posted

@Yzöwl

Yes..you are right. it's a typo. For the %CD% method, personally i don't like it. Coz you have to use CD command firstly to make sure the working dir is the current dir. Otherwise %CD% should be equal to %userprofile% generally .

Posted

%CD% gives you the current directory. So if you double click on the CMD file it will be the directory the script resides in. If you open a cmd window and run it from another directory it will give you the path to the directory you are currently in. If you create a shortcut to it then it depends upon the setting in "Start In:" as to what you will get back.

And actually it is still not right. Since he wanted the filename also. And by adding two lines you fix the problem with running it in the root directory.

set backslash=
if not "%cd:~-1%" == "\" set backslash=\
REG ADD HKCU\Software\Collectorz.com\Movie\Databases /V CurrentDatabase /D "%CD%%backslash%khanh.mvc" /F>NUL

note: everything from REG ADD to >NUL should be on one line.

Posted
%CD% gives you the current directory. So if you double click on the CMD file it will be the directory the script resides in. If you open a cmd window and run it from another directory it will give you the path to the directory you are currently in. If you create a shortcut to it then it depends upon the setting in "Start In:" as to what you will get back.

And actually it is still not right. Since he wanted the filename also. And by adding two lines you fix the problem with running it in the root directory.

set backslash=
if not "%cd:~-1%" == "\" set backslash=\
REG ADD HKCU\Software\Collectorz.com\Movie\Databases /V CurrentDatabase /D "%CD%%backslash%khanh.mvc" /F>NUL

note: everything from REG ADD to >NUL should be on one line.

Thank you so much. I got what I want. Cheers.

:hello:

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...