批处理文件错误地重命名文件

时间:2016-06-23 15:17:58

标签: windows batch-file

我正在使用一个可执行文件(名为reduce.exe)在PDB文件上使用两个函数,并在完成后重命名它们,并尝试对整个文件目录执行此操作。我有一个名为pdblist.txt的文本文件,它位于批处理文件的旁边。我当前的文件如下所示:

setlocal enabledelayedexpansion
echo off
for /F %%g in (pdblist.txt) do (
    set var=!%%g:~0,4!
    echo !var!
    set trim=!var!no_H.pdb
    echo !trim!
    set build=!var!h.pdb
    echo !build!
    reduce.exe -Trim %%g > !trim!
    reduce.exe -BUILD !trim! > !build!
)

但是,当我运行批处理文件时,它会创建两个文件,名为“~0,4h.pdb”和“~0,4no_H.pdb”。我应该为每个原始文件名最终得到三个文件,如下例所示:

原始文件名是1csl.pdb,在Trim功能之后,它创建1csl _noH .pdb,在BUILD功能之后,它创建1csl h .pdb < / p>

那么,你能解释为什么它不再创建两个文件吗?感叹号是否位于set var line或任何其他行的错误位置?

1 个答案:

答案 0 :(得分:1)

首先将var设置为g,然后截断

var db = window.sqlitePlugin.openDatabase({name: "my.db", location: 'default', createFromLocation: 1});

我的pdblist.txt包含first_item,second_item(每行1个)。输出是:

for /F %%g in (pdblist.txt) do (
    set var=%%g
    set var2=!var:~0,4!
    set trim=!var2!no_H.pdb
    echo !trim!
    set build=!var2!h.pdb
    echo !build!