将截断的文件名传递到另一个批处理文件

乔·布拉夫

我在名为cores的文件夹中有一堆文件。这些文件的名称类似c_000223〜a,c_120302〜a等。

我有一个带有for循环的批处理文件。它应该遍历每个核心文件,并将其发送到另一个名为RunMSFlux的批处理文件进行处理。问题是RunMSFlux不接受核心文件名。它不需要开头的“ c_”,只是000223〜a,120302〜a,依此类推。

我不能修改RunMSFlux来接受“ c_”,因为它是只读的。另外,我不想重命名核心文件,因为批处理文件之外的其他程序会使用这些核心文件。因此,我需要一种删除文件名开头的c_并将其传递给RunMSFlux的方法。

到目前为止,这是我的批处理文件:

    @echo on
    set bindirectory=K:\Physics\bin\1112\
    set coredirectory=K:\Physics\cores\
    set quiet=yes

for %%f in ( %coredirectory%* ) do (

    call %bindirectory%\RunMSFlux.bat %%f measbu measbu
)

有没有一种方法可以让批处理文件在将文件名传递给for循环之前先剥离c_?或者,也许我可以创建一个.txt文件,其中包含截短的核心文件的名称,然后让脚本逐行通过该脚本,然后将这些名称传递给for循环?

乔·布拉夫

经过大量的哭泣和咬牙切齿,我相信我终于有了一些有效的方法:

@echo on
set bindirectory=K:\Physics\bin\1112\
set coredirectory=K:\Physics\cores\
set quiet=yes

for /F "tokens=1* eol=_ delims=_" %%g in ( 'dir /A:-d /B %coredirectory%' ) do (

call %bindirectory%RunMSFlux.bat %%h measbu measbu 
)

在将截断的文件名传递到循环内的RunMSFlux.bat之前,标记,eol和delims除去“ dir / A:-d / B”列出的文件名中的c_。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用批处理文件复制文件名并附加另一个文件

批处理文件以递归方式从目录中读取文件名并输入到另一个命令

如何将变量从一个批处理文件传递到另一个批处理文件?

创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

编写批处理文件:批处理将命令插入到另一个基于cmd的程序中

批处理文件以将文件从USB复制到C :,然后从c:\ temp运行另一个批处理文件

循环调用另一个批处理文件的批处理文件

调用另一个批处理文件的调用批处理文件失败

使批处理文件等待另一个批处理文件

批处理文件以将文件夹移动到另一个

如何通过引用另一个批处理文件将环境变量作为参数传递?

创建一个扫描.txt文件的批处理文件(或其他文件?),然后将指定的文本复制到另一个.txt文件

批处理-如何关闭从另一个批处理文件启动的批处理文件

如何在另一个批处理文件中调用一个批处理文件?

Windows批处理文件,循环浏览文件夹中的文件以创建参数列表以传递到另一个脚本

批处理文件失败,无法将文件从一个目录复制到另一个目录

批处理文件将 2 个最近的文件复制到另一个文件夹中

每天根据文件名通过批处理文件保存一个文件

批处理文件可将文件随机复制到另一个文件夹

将文本文件的前两行复制到另一个文本文件的批处理文件

从另一个批处理文件调用一个批处理,并从外部批处理中设置内部批处理文件参数

Windows 批处理文件以提升的权限启动另一个批处理

仅当从另一个批处理文件调用批处理文件时,如何才能处理该批处理文件?

如何创建一个以txt输出文件名的批处理文件?

如何从另一个批处理文件在批处理文件中写入管道(|)?

将具有特殊字符的参数从批处理文件发送到另一个批处理文件

如何将文件名从multer传递到另一个中间件?

如何在批处理文件中传递来自另一个 perl 脚本的输入

使用批处理文件将文件名和文件中的特定字符串传递到for循环中