更新:在发布求助信息之后的那一刻,这是我从未做过的事情我已经弄明白了......我倾向于过度思考,这就是这种情况,它是就这么简单! >。<
解决方案: (这在Windows 7 Ultimate 64 Bit下运行)
Set var=
Set var=SomeText %var1% %var2% %var3%
Echo %var% > output.txt
请参阅下面的答案中的解释。
我一直在搜索和尝试几个与我的问题相似的帖子几个小时没有成功。我不是BATCH中的编程新手,但我有记忆问题,因此无法永远记住事情。我在其他平台上用其他语言编程也没有帮助,这通常意味着我试图在我的Windows批处理脚本中使用* nix shell命令>。<
我已经与一些例子非常接近,但没有任何必要的工作。 理想情况下,我希望这项工作适用于Windows 7,8,8.1,Vista和10,因为它是预期的目标。
这就是我需要完成的事情:
用户将回答一系列问题,每个问题都存储在.txt文件中(如果您愿意,也可以存储在变量中。我只是因为过去的项目而使用了文本文件,因为我遇到了无法变量的问题解决了和文本文件工作)。每个文本文件中的行将需要输出到一行中的单个文本文件中,然后作为变量读回并运行。同样,如果对您或我们双方都更容易,您可以在示例中使用和组合变量; P
这是我如何做的片段示例
SET file1=
SET /P file1=file1:%=%
ECHO %file1% > file1.txt
,然后
copy /b file1.txt + file2.txt + file3.txt + file4.txt output.txt
以下是我希望结果显示的方式
toolkit /S "C:\ToolKit Bravo\Data\etc" "D:\ToolKit Bravo\Data\Ops"
“”引号是必要的。对于我给出的例子,输出必须完全如上所示。 “/ S”&路径是可变的不固定!
这是我能够想出的最好的变量..
"toolkit /S "C:\ToolKit Bravo\Data\etc" "D:\ToolKit Bravo\Data\Ops""
更新2 - 按要求说明:
以上示例中直接位于此上方的路径不固定!这只是一个例子。 “工具包”是固定的,这不会改变。 “/ S”是用户选择传递给“工具包”的选项。用户再次在“引用”标记中输入源和目标路径。它们不是固定的路径。
正如您所看到的,结果被引号所包围,这是不可接受的。请记住,我需要在最终结果的路径周围引用,所以删除它们都不是一个选项!
非常感谢任何帮助!谢谢你的时间。
答案 0 :(得分:0)
只需记下引号之间的所有字符。
SET X="toolkit /S "C:\ToolKit Bravo\Data\etc" "D:\ToolKit Bravo\Data\Ops""
ECHO %X%
SET Y=%x:~1,-1%
ECHO %Y%
答案 1 :(得分:0)
这解决了我在Windows 7旗舰版64位
下的问题.git
使用SET命令我首先确保变量或var为空是空的。使用此命令:
git
然后我继续使用我创建的所有其他变量创建我的变量,并希望使用这行代码组合:
Set var=
Set var=SomeText %var1% %var2% %var3%
Echo %var% > textfile.txt
请注意,我在变量之前加上" SomeText"。这是我将.exe的名称放在传递参数的位置,但它可以是您想要包含的任何内容。我还需要每个变量之间的空格,所以我在示例代码中留下了它们之间的空格。如果你不想要空格只是删除它们,你就会有1234而不是1 2 3 4。
最后,我将组合变量发送到.txt文件。
Set var=
但是,您也可以简单地调用新变量:
Set var=SomeText %var1% %var2% %var3%