【发布时间】:2022-06-23 18:13:23
【问题描述】:
我正在尝试制作一个 bat 文件来同步文件夹。 我还不能安装 WASL,所以现在,rsync 不是一个选项。
我尽可能简洁地编写了下面的代码。请检查为什么它不起作用? 注意:在记事本++ 上,在编码菜单上,默认选择“UTF8”。我试图点击“转换为 UTF8”;什么也没发生。
请帮忙!
CHCP 65001
REM @ECHO OFF
REM GLOBALS
SET V_PF=\\10.0.0.222\kalite_dokumanlar\
SET V_PT=C:\me\desk\KALİTE\
REM INIT
GOTO:F_MAIN
REM FUNCTIONS
:F_SYNC
SETLOCAL ENABLEDELAYEDEXPANSION
SET V_IN=%~1
robocopy "%V_PF%%V_IN%\" "%V_PT%%V_IN%\" /MIR
ENDLOCAL
EXIT /B 0
REM MAIN
:F_MAIN
call:F_SYNC "DESTEK"
call:F_SYNC "MÜŞTERİ ve TEDARİK"
call:F_SYNC "SİSTEM"
call:F_SYNC "ÜRETİM"
REM SAVE WITH NOTEPAD++ ENCODED UTF8 WITHOUT BOM
查看代码github
【问题讨论】:
-
ENABLEDELAYEDEXPANSION 但从不使用它?
-
只是为了扩展,您没有使用 Unicode UTF-8 字符,这些只是 OEM 代码页 857 下可用的土耳其语字符。所以您应该使用该代码页编写批处理文件,如果需要,请确保批处理文件标识当前代码页,如果不是 857,则将其更改为那个。
标签: windows batch-file utf-8 robocopy