Batch file 在以unicode命名的文件上运行批处理

Batch file 在以unicode命名的文件上运行批处理,batch-file,Batch File,我需要在以unicode命名的文件上运行一个进程? 如何使用批处理文件 我试过: dir /b %folder% > dir.lst ::cmd /u /c dir /b %folder% > dir.lst FOR /F "delims= tokens=*" %%G IN (dir.lst) DO ( echo %%G @set filename2=%%G @echo %filename2% @set filename=%pathlogs%\!filename

我需要在以unicode命名的文件上运行一个进程? 如何使用批处理文件

我试过:

 dir /b %folder% > dir.lst

 ::cmd /u /c dir /b %folder% > dir.lst
 FOR /F "delims= tokens=*" %%G IN (dir.lst) DO ( 
 echo %%G
 @set filename2=%%G
 @echo %filename2%


 @set filename=%pathlogs%\!filename2!
 @echo %filename%
 @echo %filename2%
 @%binaries%\gawk -v fn=%filename% -v fn2=%filename2% -f %scripts%\AlexBank_barcode.awk                               %folder%\%filename2% 2> %scripts%\AlexBank_barcode.fil
 @%binaries%\sort -k 1.129,1.144 -T F:\tmp  %pathlogs%\%filename2%.log >      %pathlogs%\%filename2%.log.tmp 2> %scripts%\%filename2%".sort.fil"
 @set filename3=%filename%.log.tmp1
 @%binaries%\gawk -f %scripts%\AlexBank_collect_barcode.awk %pathlogs%\%filename2%.log.tmp 2> %scripts%\AlexBank_collect_barcode.fil
 @set filename3=%filename%.separate_all.log
 @%binaries%\gawk -f %scripts%\AlexBank_separate_barcode.awk %pathlogs%\%filename2%.log.tmp1 2> %scripts%\AlexBank_separate_barcode.fil

 @set filename3=%filename%.separate_statement_le.awk.log
@%二进制文件%\gawk-v fn=%filename3%-f%scripts%\AlexBank\u单独的\u语句\u le.awk%pathlogs%\%filename2%.log.tmp1 2>%scripts%\%filename2%.”AlexBank\u单独的\u语句\u le.awk.fil“ @set filename3=%filename%。单独的\u语句\u gt.awk.log @%二进制文件%\gawk-v fn=%filename3%-f%scripts%\AlexBank\u单独的\u语句\u gt.awk%pathlogs%\%filename2%.log.tmp1 2>%scripts%\%filename2%.”AlexBank\u单独的\u语句\u gt.awk.fil“
)这里有两个选项:

  • 为控制台窗口设置TrueType字体
  • 不要使用
    for/f
    来迭代
    dir/b
    的输出。在绝大多数情况下,这是不必要的,正确的设置更复杂,更脆弱,在Unicode文件名上失败,当您遇到设置稍有错误时。您可以使用
    for
    直接迭代文件:

    for %%F in (%folder%\*) do ...
    

  • 请描述您遇到的问题。