Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
| Python | `submit.py` | 递交 `.sas` 代码至监管机构前的处理程序 | [↗️](https://github.com/smjc-org/py-submit/blob/main/README.md) |
| Python | `multi_encoding_converter.py` | 编码格式转换 | [↗️](python/multi_encoding_converter/README.md) |
| Batch | `create_virtual_driver.bat` | 创建虚拟磁盘 | [↗️](batch/create_virtual_driver/README.md) |
| Batch | `compdirtree.bat` | 比较本地和服务器文件差异 | [↗️](batch/robocopy_sync/READMD.md) |
| Batch | `sync2cloud.bat` | 同步至服务器 | [↗️](batch/robocopy_sync/READMD.md) |
| Batch | `sync2local.bat` | 同步至本地 | [↗️](batch/robocopy_sync/READMD.md) |

## pre-commit 安装

Expand Down
Empty file added batch/robocopy_sync/READMD.md
Empty file.
25 changes: 25 additions & 0 deletions batch/robocopy_sync/compdirtree.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@echo off
color f0

setlocal EnableDelayedExpansion

echo 比较本地与服务器文件的差异,请按任意键继续!!!
echo 运行后请查看log.txt文件!!!

set local=%cd%
if "%local:~0,3%" == "X:\" (
subst > %TEMP%\virtual_disk_list.txt
set /P VDLIST=<%TEMP%\virtual_disk_list.txt
echo !VDLIST!
set local=!VDLIST:~8!!cd:~2!
)
echo 本地路径:%local%
set cloud=%local:D:\OneDrive\统计部=Z:%
echo 服务器路径:%cloud%
rem pause

robocopy "%local%" "%cloud%" /E /XO /COPY:DAT /DCOPY:DAT /TEE /W:3 /R:10 /XA:H /XF ~$* upload.log download.log compare.log /XD .ruff_cache .venv __pycache__ /UNILOG+:compare.log /UNICODE /L /PURGE

explorer %local%\compare.log

exit
15 changes: 15 additions & 0 deletions batch/robocopy_sync/opencloud.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@echo off
color f0

setlocal EnableDelayedExpansion

set local=%cd%
if "%local:~0,3%" == "X:\" (
subst > %TEMP%\virtual_disk_list.txt
set /P VDLIST=<%TEMP%\virtual_disk_list.txt
echo !VDLIST!
set local=!VDLIST:~8!!cd:~2!
)

set cloud="%local:D:\OneDrive\统计部=Z:%"
explorer "%cloud%"
42 changes: 42 additions & 0 deletions batch/robocopy_sync/sync2cloud.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
@echo off
color f0

setlocal EnableDelayedExpansion

echo 仅在单人项目文件夹中运行!!!
echo 不要在多人协作项目文件夹中运行,因为可能会删除他人上传的新文件!!!
echo 按任意键继续,按CTRL+C中止......
echo.

set local=%cd%
if "%local:~0,3%" == "X:\" (
subst > %TEMP%\virtual_disk_list.txt
set /P VDLIST=<%TEMP%\virtual_disk_list.txt
set local=!VDLIST:~8!!cd:~2!
)
echo 本地路径:%local%
set cloud=%local:D:\OneDrive\统计部=Z:%
echo 服务器路径:%cloud%
echo.

set /p input=是否删除服务器中多余的文件?(Y/N)
if "%input%"=="Y" (
goto delete_rep
)else if "%input%"=="y" (
goto delete_rep
)else if "%input%"=="N" (
goto not_delete_rep
)else if "%input%"=="n" (
goto not_delete_rep
)else (
echo 输入有误,将保留服务器中多余的文件!
goto not_delete_rep
)

:delete_rep
robocopy "%local%" "%cloud%" /E /XO /COPY:DAT /DCOPY:DAT /W:3 /R:10 /TEE /XA:H /XF ~$* upload.log download.log compare.log /XD .ruff_cache .venv __pycache__ /UNILOG+:upload.log /UNICODE /PURGE
exit

:not_delete_rep
robocopy "%local%" "%cloud%" /E /XO /COPY:DAT /DCOPY:DAT /W:3 /R:10 /TEE /XA:H /XF ~$* upload.log download.log compare.log /XD .ruff_cache .venv __pycache__ /UNILOG+:upload.log /UNICODE
exit
42 changes: 42 additions & 0 deletions batch/robocopy_sync/sync2local.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
@echo off
color f0

setlocal EnableDelayedExpansion

echo 同步至本地,默认不删除本地多余的文件,按任意键继续,按CTRL+C键中止
echo.

set local=%cd%
if "%local:~0,3%" == "X:\" (
subst > %TEMP%\virtual_disk_list.txt
set /P VDLIST=<%TEMP%\virtual_disk_list.txt
echo !VDLIST!
set local=!VDLIST:~8!!cd:~2!
)
set cloud=%local:D:\OneDrive\统计部=Z:%
echo 本地路径:%local%
echo 服务器路径:%cloud%
echo.
echo.

set /p input=是否删除本地磁盘中多余的文件?(Y/N)
if "%input%"=="Y" (
goto delete_rep
)else if "%input%"=="y" (
goto delete_rep
)else if "%input%"=="N" (
goto not_delete_rep
)else if "%input%"=="n" (
goto not_delete_rep
)else (
echo 输入有误,将保留服务器中多余的文件!
goto not_delete_rep
)

:delete_rep
robocopy "%cloud%" "%local%" /E /XO /COPY:DAT /DCOPY:DAT /W:3 /R:10 /TEE /XA:H /XF ~$* upload.log download.log compare.log /XD .ruff_cache .venv __pycache__ /UNILOG+:download.log /UNICODE /PURGE
exit

:not_delete_rep
robocopy "%cloud%" "%local%" /E /XO /COPY:DAT /DCOPY:DAT /W:3 /R:10 /TEE /XA:H /XF ~$* upload.log download.log compare.log /XD .ruff_cache .venv __pycache__ /UNILOG+:download.log /UNICODE
exit