相关疑难解决方法(0)

如何将参数传递给批处理文件?

我需要在运行时将ID和密码传递给批处理文件,而不是将它们硬编码到文件中.

这是命令行的样子:

test.cmd admin P@55w0rd > test-log.txt
Run Code Online (Sandbox Code Playgroud)

arguments batch-file

1100
推荐指数
17
解决办法
180万
查看次数

有没有办法将参数"按名称"(而不是按顺序)传递给批处理.bat文件?

我需要能够通过NAME(而不是按顺序)将参数传递给Windows批处理文件.我的目的是为最终用户提供以任何顺序传递参数的灵活性,批处理文件仍然可以处理它们.

一个让我的问题更清晰的例子:

在命令行中,用户执行以下操作: somebatchfile.bat originalFile.txt newFile.txt

在里面somebatchfile.bat有一个简单的语句将原始文件(第一个参数%1%)的内容复制到新文件(第二个参数%2%).它可以像下面的声明一样简单: copy %1% %2%

现在,如果用户以相反的顺序传递上述参数,结果将远非理想(实际上非​​常错误).

那么,有没有办法让用户按名称传递参数:例如somebatchfile.bat "SOURC=originalFile.txt" "TARGET=newFile.txt",脚本识别它们并在正确的位置使用'例如copy %SOURCE% %TARGET%

谢谢,

batch-file

39
推荐指数
6
解决办法
3万
查看次数

Windows批量转换在if块中不起作用

当我尝试SHIFTIF块内部使用时,我看到了一些意想不到的结果.使用这个:

@echo off

if "%1"=="/p" (
    echo %1
    shift
    echo "shifted"
    echo %1
)
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

C:\>ex.bat /p HAI
/p
"shifted"
/p
Run Code Online (Sandbox Code Playgroud)

但是,当我使用此代码时:

@echo off

echo %1
shift
echo "shifted"
echo %1
Run Code Online (Sandbox Code Playgroud)

我明白了:

C:\>ex.bat /p HAI
/p
"shifted"
HAI
Run Code Online (Sandbox Code Playgroud)

我需要第二个输出,但是在逻辑块中我可以循环它.我试图在这里实现类似Jon的答案:在DOS命令行中使用批处理文件中的参数,但是我遇到了一些麻烦.为什么会这样?

windows batch-file

12
推荐指数
1
解决办法
2714
查看次数

如何从外部属性文件填充 Liquibase 参数值?

有什么方法可以根据外部属性文件的内容填充 Liquibase 变更日志文件中的参数吗?

就像,我想说:

<createTable tableName="${table.name}">
     <column name="id" type="int"/>
     <column name="${column1.name}" type="varchar(${column1.length})"/>
     <column name="${column2.name}" type="int"/>
</createTable>
Run Code Online (Sandbox Code Playgroud)

table.name并将和其他参数的值保留在外部文件中db.properties,并从变更日志中、从 Liquibase 命令行或作为运行 liquibase 的 Maven 插件的选项来引用该文件。

我似乎找不到任何方法来做到这一点,有可能吗?

java liquibase maven

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

batch-file ×3

arguments ×1

java ×1

liquibase ×1

maven ×1

windows ×1