2013-08-27 34 views
0

我需要运行unicode中命名的文件上的进程? 如何使用批处理文件?在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%脚本%\ AlexBank_separate_statement_le.awk%pathlogs%\%文件名2%.log.tmp1 2>%脚本%\%filename2%“。AlexBank_separate_statement_le.awk.fil” @set filename3 =%filename%.separate_statement_gt.awk.log @%binaries%\ gawk -v fn =%filename3%-f%scripts%\ AlexBank_separate_statement_gt。 awk%pathlogs%\%filename2%.log.tmp1 2>%scripts%\%filename2%“。AlexBank_separate_statement_gt.awk.fil” )

+0

请描述你所遇到的问题。 – pamphlet

回答

0

您有两个操作此系统蒸发散:

  1. 设置TrueType字体为您的控制台窗口
  2. 不要使用for /f遍历的dir /b输出。在绝大多数情况下,这是不必要的,在您遇到设置稍微错误时,更正确,更脆弱并且Unicode文件名失败会更复杂。您可以使用for将文件直接遍历:

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