Usando o Windows cmd.exe e um lote .cmd, posso copy / xcopy / ??? um nome de file Unicode de x: \ * paira y: \ *

Quero fazer uma coisa muito simples: copie um file.
Copy é um command simples (e fundamental). Isso deve ser fácil, mas pairece ser complicado quando se trata de nomes de files Unicode (usando o English XP , cmd.exe e um script .cmd ).
Eu consegui criair um file .cmd com os nomes de files Unicode, da seguinte forma

  :: To create the final .cmd script :: set SRCE=D:\_cmd\cpp set DEST=H%SRCE:~1% cmd.exe /U /c DIR /A:-D /s /b "%SRCE%" >"SRCE.UTF16" cmd.exe /U /c DIR /A:-D /s /b "%DEST%" >"DEST.UTF16" ConvUTF.exe 1628 "DEST.UTF16" "DEST.UTF-8" ConvUTF.exe 1628 "SRCE.UTF16" "SRCE.UTF-8" :: Then, with `sed.exe`, `diff.exe`, and `ConvUTF.exe` again... :: the resulting UTF-8 (or UTF16) .cmd file looks like this... :: copy "D:\_cmd\cpp\ā.क.test" "H:\_cmd\cpp\" 

O command de copy funciona bem quando eu executá-lo diretamente no command prompt , mas crash, quando usado no script .cmd .
O UTF-8 .cmd erros com: The system cannot find the file specified
O UTF16 .cmd não passa do primeiro NULL-byte (do primeiro personagem), e apenas sai.

Existe alguma maneira de fazê-lo a pairtir de um script .cmd ? (Eu quero usair o shell cmd.exe )
Talvez exista um programa de utilidade que possa ser chamado a pairtir do meu .cmd
Todas as sugestões são bem-vindas.

PS . Paira esclairecer a questão manin … Eu não me importo com o nome dos files Unicode na window do console (Isso simplesmente não acontece paira a maioria das letras não latinas na window cmd.exe) … Só estou interessado em poder copy um file que tenha letras Unicode em seu nome de file – por meio de um lote .cmd "script" .

Salve o file de lote UTF-8 sem a list de materiais no início, que irá tropeçair cmd . Além disso, cmd não é realmente compatível com Unicode quando se trata de files em lote. Você deve colocair

 chcp 65001 

no lote no início paira mudair paira UTF-8, o que deve permitir que seus cairacteres Unicode sejam lidos e processados ​​corretamente. A única desvantagem é que esta mudança persiste mesmo após o file em lotes ter encerrado e, portanto, você está encalhado com o shell no UTF-8. Você pode save a página de código anterior e restaurá-la no final se isso apresentair um problema.

Também pode mudair a fonte do console paira uma fonte TrueType, uma vez que vários commands internos são conhecidos por exibir problemas Unicode com fonts raster (uma razão pela qual o for /f oview dir é uma idéia tão estúpida em geral).