2010-04-08 128 views
0

我有一个批处理文件,在执行自解压缩文件时运行。将批处理文件路径保存到本地硬盘

自解压文件必须复制到硬盘上的特定目录。

在批处理文件中,会询问用户路径的位置(如果它不在默认位置)。批处理文件的

部分:

现在我的问题。

如果用户然后输入新路径,是否可以保存该路径。那么当他再次执行自解压文件时,它可以记住新的路径?

+0

您确实知道有一个名为'%ProgramFiles%'的环境变量可以让您不必硬编码路径? – Joey 2010-04-18 08:50:42

+0

好的,但我似乎有问题,因为路径中有一个“&”号。 这里是路径:C:\ Program Files \ Prog&sample \ 我试图用引号保存文本文件的路径,但这没有任何帮助 – Brian 2010-04-25 08:15:43

回答

1

您可以通过执行

echo %PROGRAMPATH% > "%USERPROFILE%\AppData\Local\progpath.txt" 

保存路径下%USERPROFILE%的一些文件,然后通过做

set /p PROGRAMPATH=<"%USERPROFILE%\AppData\Local\progpath.txt" 

整批看起来像这样

@ECHO OFF 

set PROGRAMPATH=C:\Program Files\ 

IF EXIST "%USERPROFILE%\AppData\Local\progpath.txt". (
    set /p PROGRAMPATH=<%USERPROFILE%\AppData\Local\progpath.txt 
) 

IF NOT EXIST "%PROGRAMPATH%\program.exe". (
    echo Program folder was not found. Please enter the path for Program 
    set /p PROGRAMPATH=Path: 
) 

echo %PROGRAMPATH%>"%USERPROFILE%\AppData\Local\progpath.txt" 

echo Copying data to "%PROGRAMPATH%"... 
copy /Y "*.txt" "%PROGRAMPATH%" 
阅读
+0

嗨Ghostrider, 谢谢,它看起来可以做的招。 但是,请你告诉我要放行吗? 它不适合我,所以也许我在错误的地方插入了行。 – Brian 2010-04-10 20:26:09

+0

hmmm,它将路径很好地写入progpath.txt,但它从不使用它。它总是问我的PROGRAMPATH – Brian 2010-04-11 08:15:02

+0

确保你使用内置的Windows回声(而不是cygwin或类似的echo.exe)。它在Windows 7上为我工作。YMMV – Ghostrider 2010-04-11 16:29:35

相关问题