奇怪的问题与csv文件

时间:2017-10-25 09:11:09

标签: batch-file

我对我的csv文件有一个非常奇怪的问题。 我尝试在第一次昏迷之前获取数据作为输出,它适用于除了一个之外的每个文件。

它是这个(具有不同的别名和名称)

GET https://www.google.com/search?q=opera

所以使用此代码:

dbackup_support,Support AdBackup,0
admin.zoom,admin.zoom,0
Administrateur,Administrateur,0
jsmith,john smith,266
jsmith1,john smith1,266
jsmith1,john smith1,12
jsmith1,john smith1,4232
jsmith1,john smith1,243
jsmith1,john smith1,532524

它甚至不会进入循环

使用此文件时可以使用

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "tokens=1 delims=," %%A in (Liste_mailboxes.txt) do (
    set var1=%%A
    echo !var1!
    pause
)
pause
你怎么知道我做错了什么?谢谢,对不起英语不好

编辑:我发现更奇怪的事情,如果我将文件中的内容复制到新文件中,它将起作用。但如果我复制它,它就不会工作。我真的不知道这个文件有什么问题。

1 个答案:

答案 0 :(得分:1)

我想,您的第一个文本文件具有Unicode编码。某些批处理命令(如for)确实存在问题。 Type将编码转换为Ansi"动态",您可以:

@echo off 
setlocal enabledelayedexpansion
for /f "tokens=1 delims=," %%A in ('type Liste_mailboxes.txt') do (
    set var1=%%A
    echo !var1!
    pause
)

请注意,如果您对var不做任何操作,则可以改为使用%%A

@echo off 
setlocal enabledelayedexpansion
for /f "tokens=1 delims=," %%A in ('type Liste_mailboxes.txt') do (
    echo %%A
    pause
)