【发布时间】:2016-04-25 00:14:13
【问题描述】:
我正在开发一款游戏,我只需要让游戏写入指定路径上的文件。
但每次我尝试都会收到诸如
之类的错误“找不到指定的路径”
我已经尝试了 cd/ 和 path 和 dir 的所有组合以及兔耳没有兔耳和“\”等等,但没有解决这个错误。
但这也是一个要求,我不能指定完整路径。因为这是一个游戏。游戏的路径因电脑而异(也许),这意味着我希望它“搜索并找到”与代码中的内容匹配的路径。所以继承人我的代码。有什么想法吗?
if exist cd "game\General_menus\users\%player%\programbase.dll" goto write
if not exist cd "game\General_menus\users\%player%\programbase.dll" goto addwrite
:write
echo %score%> cd "game\General_menus\users\%player%\playerdb.dll"
pause>nul
:addwrite
echo %score%>> cd "game\General_menus\users\%player%\playerdb.dll"
但是完整路径是:C:\Users\Kevin\Documents\Visual Studio 2015\Projects\game\game\General_menus\plugins
(但正如我所说。我希望它“检测未指定的其余路径)
编辑=============================================== =============================0
当前工作路径= C:\Users\Kevin\Documents\Visual Studio 2015\Projects\game\Hacker_game\General_menus\plugins
我希望将文件 playerdb.dll 写入路径: C:\Users\Kevin\Documents\Visual Studio 2015\Projects\game\Hacker_game\General_menus\users\%player%\playerdb.dll
无需手动将其锁定为 C 作为路径。 (就像它会检索路径信息,这就是我使用 %CD% 的原因)然后只需向上移动 1 个文件夹。然后进入 users\player 然后写入文件
它仍然无法正常工作:(
set path=%CD%
IF EXIST dir %path% /A:D(
goto write
)else(
goto addwrite
)
cd users\%player%\playerdb.dll goto write
if not exist cd users\%player%\playerdb.dll goto addwrite
:write
echo %score%> "Hacker_game\General_menus\users\%player%\playerdb.dll"
pause>nul
:addwrite
echo %score%>> "Hacker_game\General_menus\users\%player%\playerdb.dll"
【问题讨论】:
-
if exist cd "game\General_menus\users\%player%\programbase.dll" goto write该代码正在检查文件cd是否存在。我假设你想删除cd -
是的,我刚刚添加了 cd 和 cd/“路径”,我尝试了是否存在“路径”,我尝试了“如果存在路径”,我也尝试了更多的东西。但我发现没有任何效果。我试图在脚本开头“设置路径”。但没有任何效果:(而且我也需要检测部分。它还说,当写“如果存在 cd (path) 时它找不到我实际试图找到的路径。它没有包含 cd 部分。所以在我看来,这似乎可行。但你可能是对的。
-
您的代码都不是有效的语法。我建议你从头开始,然后再试一次。
-
整个代码本身完美运行。除了那部分。我让它在类似的脚本的不同部分工作。但由于某种原因它仍然无法在那里工作......我真的看不到错误,这就是为什么我在这里也许你们能够看到错误并可能告诉我(所以我可以学习它)
-
如果这只是批处理文件的一部分,我们怎么知道它的另一部分不会影响这部分。你不能告诉我你已经复制了这段代码并且它在你的批处理文件的另一部分中工作:
echo %score%> cd "game\General_menus\users\%player%\playerdb.dll"
标签: windows batch-file dll path