gpt4 book ai didi

batch-file - 如何在批处理脚本的for循环中使用子字符串?

转载 作者:行者123 更新时间:2023-12-05 04:07:03 24 4
gpt4 key购买 nike

这是我的第一个批处理脚本。我想转换文件列表并使用输入文件名的子字符串(年份)。但是子字符串部分不起作用:

SETLOCAL EnableDelayedExpansion

FOR %G IN (%dirInp%%station%???0.DAT) DO (

SET filInp="%G"

SET doy=!filInp:~-9,3! rem this doesn't work?

rem Convert Trimble GPS receiver observations to RINEX
%dirExe%teqc -tr d %G > %dirOut%%station%!doy!0.%yy%D
)

那么,我应该怎么做呢?

最佳答案

除了@Stephan 的评论之外,我还更新了您的代码以使用一些抽象文件路径和子字符串参数制作一个最小工作示例 (MWE)。

然后我将 SETLOCAL EnableDelayedExpansion 移动到 FOR 循环中,现在它适用于 Windows 7。

我还通过 endlocal 关闭了 SETLOCAL EnableDelayedExpansion(可能对进一步的代码执行敏感

@echo off

FOR %%G IN (C:\DirInput_StationA\201901.DAT C:\DirInput_StationB\201812.DAT) DO (
SETLOCAL EnableDelayedExpansion
SET "filInp=%%G"

SET "doy=!filInp:~-10,4!"

rem Convert Trimble GPS receiver observations to RINEX
REM Changed your call to echo of the vars
echo G: "%%G"; doy: "!doy!"
endlocal
)

关于batch-file - 如何在批处理脚本的for循环中使用子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027511/

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