我有一个具有以下布局的目录:
1 януари 2012
2 февруари 2012
1 януари 2013
我希望它看起来像yyyy-mm-dd
:
2012-01-01
2012-02-01
2013-01-01
Януари/февруари是几个月的西里尔字母名称,因此很容易映射到数字 - 01/02 。
脚本基本上必须:
我是批处理脚本编码的新手。
所以,如果你能帮助我,那就太好了。
答案 0 :(得分:1)
假设您只需重命名януари和февруари的文件夹,将 C:\ Folders 替换为目标目录的实际完整路径,将此脚本保存到 test.bat ,从脚本文件夹中打开Cmd Prompt并进行测试。无论当前的Cmd代码页如何,它都适用于我的Win10英语和您的目录名称。
@echo off
setlocal enabledelayedexpansion
set "dir=C:\Folders"
for /f "tokens=4" %%A in ('chcp') do (
if not %%A==855 set "enc=%%A" & chcp 855 >nul)
for /f "tokens=1,2,3" %%G in ('dir /b /a:d "%dir%"') do (
set "yea=%%I" & set "fold=%%G %%H %%I"
for /f "tokens=1,2 delims=я" %%B in ("%%H") do (
if not %%C.==. (set mon=01) else set mon=02)
if %%G leq 9 (set dat=0%%G) else set dat=%%G
set "nfold=!yea!-!mon!-!dat!"
move /y "%dir%\!fold!" "%dir%\!nfold!"
)
if defined enc chcp !enc! >nul
exit /b