我不太了解Windows命令解释器,但我在Microsoft Access文件中有一个VBA宏,它运行下面发布的批处理文件。
为什么在文件末尾放置6个管道而不是3个?
我相信它已经运行了两次,但我不知道为什么。
@echo off
:: Copy inventory files from P drive and remove originals
move P:\MFG_Programs\MakenaInventory\THERACOM_TherRxHub_ControlFile_SP002B_*.txt N:\pgh_manufacturer_program_reporting\Makena\Process
:: create temp file mirroring inventory file with extra pipe on each line
p:
cd "P:\MFG_Programs\MakenaInventory"
setlocal enabledelayedexpansion
For %%J in (RtlInventory_TherRxHub_SP002B*.txt) Do (
For /F "tokens=*" %%A in (%%J) Do (
echo %%A^|^|^|>>rtltemp.txt
)
答案 0 :(得分:0)
我怀疑你过分简化了代码。
变化
For %%J in (RtlInventory_TherRxHub_SP002B*.txt) Do (
到
For /f "delims=" %%J in ('dir /b /a-d RtlInventory_TherRxHub_SP002B*.txt') Do (
这将在基本形式中构建一个dir
列表,在内存中没有目录名,然后处理列表,这样,如果通过创建,删除或重命名目录中的文件来进行文件结构更改,那些更改不会影响列表建。