Jump to content

import current path into registry by commandline


QKnet

Recommended Posts

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

Link to comment
Share on other sites


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
Link to comment
Share on other sites

@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

Link to comment
Share on other sites

%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.

Link to comment
Share on other sites

%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:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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