gpt4 book ai didi

batch-file - 如何将文件内容读入批处理文件中的变量?

转载 作者:行者123 更新时间:2023-12-03 04:22:50 25 4
gpt4 key购买 nike

此批处理文件将构建从 TEST 发布到 LIVE。我想在此文件中添加一个检查约束,以确保特定文件夹中存在随附的发布文档。

"C:\Program Files\Windows Resource Kits\Tools\robocopy.exe" "\\testserver\testapp$"        
"\\liveserver\liveapp$" *.* /E /XA:H /PURGE /XO /XD ".svn" /NDL /NC /NS /NP
del "\\liveserver\liveapp$\web.config"
ren "\\liveserver\liveapp$\web.live.config" web.config

所以我有几个关于如何实现这一目标的问题......

  1. \\testserver\testapp$ 文件夹中有一个 version.txt 文件,该文件的唯一内容是内部版本号(对于例如,45 - 用于构建 45)如何将 version.txt 文件的内容读取到批处理文件中的变量中?

  2. 如何使用第 1 部分中的变量代替 {build} 检查文件 \\fileserver\myapp\releasedocs\{build}.doc 是否存在?

最佳答案

将文件内容读入变量:

for /f "delims=" %%x in (version.txt) do set Build=%%x

set /p Build=<version.txt

对于文件中只有一行,两者的行为相同,对于更多行,for 变体会将最后行放入变量中,而 set/p 将使用第一个。

使用该变量 - 就像任何其他环境变量一样 - 毕竟它是一个:

%Build%

因此要检查是否存在:

if exist \\fileserver\myapp\releasedocs\%Build%.doc ...

尽管很可能那里不允许使用 UNC 路径。现在无法测试这一点,但请记住这一点。请注意,使用 set/P 命令时,文件不能采用 Unicode 格式。

关于batch-file - 如何将文件内容读入批处理文件中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3068929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com