有沒有批處理程式玩的六的大哥?

52次阅读

共计 884 个字符,预计需要花费 3 分钟才能阅读完成。

@echo off
for /L %%i in (2000,1,2023) do md "%%i"
for /L %%i in (2000,1,2023) do (
for /L %%j in (1,1,12) do (
if "%%j" LSS "10" (
md "%%i%%j"
echo.>"%%i%%jindex.html"
) else (
md "%%i%%j"
echo.>"%%i%%jindex.html"
)
)
)

這是一段批量生成由 2000 年依次到 2023 年目錄,并在這些目錄内新建 01 月依次到 12 月目錄的 bat code,但是有一個問題就是它大於等 10 的目錄它還在數字前加 0,有什麽辦法讓它 10 以後的三個月份前不加 0 了?

装个 python 自己写呗,批处理这种 dos 时代的东西能不用就不用。第一眼:你这不是有判断吗?
仔细看看:把 else 后语句中的 0 去掉,试试
md "%%i%%j"
echo.>"%%i%%jindex.html"
测试了一下,还是不对。2- 9 没加 0 这个需要批处理么?直接建好 2000 的文件夹。和内部 12 个月份的文件夹。。2000 的文件夹复制 23 个。改下年份不就完事了。装个 git 客户端用 shell 你这种需求可以用高级语言调 os 接口写,用 shell 不是给自己找罪受吗

Waylon 发表于 2023-1-18 07:37
第一眼:你这不是有判断吗?
仔细看看:把 else 后语句中的 0 去掉,试试

按你那样改,再去掉最后判断的双引号就对了
%%j LSS 10 不要加双引号,不然按字符串比较的大小感謝 @Waylon 和 @mmc199 兩位大佬,代入二位給出的策略修改,最終 1 - 9 數字前加 0,10-12 不加 0,最總批處理程式
@echo off
for /L %%i in (2000,1,2023) do md "%%i"
for /L %%i in (2000,1,2023) do (
for /L %%j in (1,1,12) do (
if %%j LSS 10 (
md "%%i%%j"
echo.>"%%i%%jindex.html"
) else (
md "%%i%%j"
echo.>"%%i%%jindex.html"
)
)
) 复制代码

正文完
 0