繁体   English   中英

批量更改目录并使用当前目录作为命令

[英]Batch Change dir and use current dir as command

我尝试编写CMD来运行我编写的脚本。

脚本语法为:

luajit.exe loader.lua nyufxlua "workingpath" suffix

库的工作路径和位置不同。

我尝试了以下操作:

@echo off

IF "%1%" == "" (
    GOTO :NOFILE
) ELSE (
    GOTO :FILE
)

:NOFILE
ECHO NO FILE GIVEN!
GOTO :EXIT

:FILE
SET "P=%CD%"
PUSHD C:\Projects\FXSpindle\trunk\deps\script\bin
luajit.exe loader.lua nyufxlua "%P%" %1%

:EXIT

我切换目录,运行文件,但参数“ workingdir”不正确。 workingdir应该是我运行此脚本的路径(脚本存储在Windows的System32中)

由于“ workingdir”始终是C:\\ Projects \\ FXSpindle \\ trunk \\ deps \\ script \\ bin给定的,但不是我打开命令行的路径...

如何解决这个问题呢?

我解决了问题。 我还没有意识到在PUSHD之后必须使用POPD-所以我的目录错误了...

正确的代码是:

@echo off

IF "%1%" == "" (
    GOTO :NOFILE
) ELSE (
    GOTO :FILE
)

:NOFILE
ECHO NO FILE GIVEN!
GOTO :EXIT

:FILE
SET "P=%CD%"
POPD C:\Projects\FXSpindle\trunk\deps\script\bin
luajit.exe loader.lua nyufxlua "%P%" %1%

:EXIT

使用%1来访问第一个参数,而不能在结尾加上%

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM