我是靠谱客的博主 光亮黑夜,最近开发中收集的这篇文章主要介绍几个有用的DOS 批处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、文件夹下的文件名大小写转换


将文件夹下文件名大写改成小写.BAT

set /p PT= 请输入要更改文件名称的文件夹路径 :
cd %PT%
for /f "delims=" %%a in ('dir /b /a-d %PT%') do (
        set str=%%a
        for %%i in (a b c d e f g h i j K l m n o p q r s t u v w x y z) do call set str=%%str:%%i=%%i%%
        call ren *.* %%str%%
)


将文件夹下文件名小写改成大写.BAT

set /p PT= 请输入要更改文件名称的文件夹路径 :
cd %PT%
for /f "delims=" %%a in ('dir /b /a-d %PT%') do (
        set str=%%a
        for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set str=%%str:%%i=%%i%%
        call ren *.* %%str%%
)


说明:执行的时候,最好将此批处理放在要更文件名的文件夹下;此用处示例:用pl/sql导出的存储过程脚本为小写字母的.prc文件,可以在DOS下用rename *.prc *.SQL更改扩展名,然后用改成大写的批处理执行,最后上传到VSS上去,满足项目的要求(吉林银行数据仓库项目)。


2、金额输入阿拉伯变成大写汉字


金额输入小写变大写.bat

::code by
::date 2006-1-1(Happy new year!best wishes to everyone!)
@echo off
setlocal enabledelayedexpansion
set /a a=0,b=0,c=0

::================================
::设置单位名称;
SET NAME0=仟
SET NAME1=佰
SET NAME2=拾
SET NAME3=
::================================

::=============================================
::设置数字对应的大写中文汉字
for %%i in (零 壹 贰 叁 肆 伍 陆 柒 捌 玖) do (
     set BIG!a!=%%i
     set /a a+=1)
::=============================================

::=======================================================================
::在以下“函数”的处理过程中,要用到"#"对数字进行对齐(都成四位),以便截取;
::这里设置凡是出现"#"的地方都设置为空。
set BIG#=
::=======================================================================

set EN=

::====================================================
::这里对输入的数字进行处理,分别取出整数部分和小数部分;

set /p EN=请输入金钱数(1000亿以内):
for /f "tokens=1,2* delims=." %%i in ("%EN%") do (
      set "round=%%i"
      set "dec=%%j00" 2>nul)
::=====================================================
set /a round=%round:,=%
set dec=%dec:~0,2%

:test
   set /a b+=1
   ::=============================================
   ::每四位数字为一组,对原来的数据进行截取;
   if %round% gtr 9999 (
      set num!b!=!round:~-4!
      set round=!round:~0,-4!
      goto :test) else set num!b!=!round!
   ::==============================================

::=====================================================
::分别对1、2、3段数据进行处理;分别赋予单位:元、万、亿
::同时,分别将返回的数据传给str1,str2,str3(利用%3来控制)。
call :test1 %num1% 元 1
call :test1 %num2% 万 2
call :test1 %num3% 亿 3
::======================================================

::====================================================================
::去掉数字大写里多余的"零"。比如,1002,处理后读出来为:"壹千零贰元整"
::符合我们中国人一般的读数方法;同时将结果分别传入str1,str2,str3(%2控制)。
call :test2 %str1% 1
call :test2 %str2% 2
call :test2 %str3% 3
::=====================================================================

::==============================================================
::防止类似2,0000,1002.00形式出现错误(错误读为:2亿万1千零2元整)
if "!str2!"=="零万" set str2=零
::===============================================================

set str=%str3%%str2%%str1%
set str=%str:零元=元%
set str=%str:零万=万%
set str=%str:零亿=亿%

::防止整数部分为0;
if "%str%"=="元" set str=零元

::对小数部分数字进行处理;
if "%dec%"=="00" (set dec=整) else (
    set /a dec1=!dec:~0,1!
    set /a dec2=!dec:~1,1!
    if !dec1! EQU 0 (set dec1=零) else call set dec1=%%BIG!dec1!%%角
    if !dec2! EQU 0 (set dec2=) else call set dec2=%%BIG!dec2!%%分
    set dec=!dec1!!dec2!
)
echo.
echo ========================
echo 你输入的金钱数目大写为:
echo.
echo %str:零零=零%%dec%
echo ========================
pause>nul

:test1
    if not "%1"=="" (
        set temp=####%1
        set temp=!temp:~-4!
        for /l %%i in (0 1 3) do (
               set tmp%%i=!temp:~%%i,1!
               if defined tmp%%i (
                  if !tmp%%i! GTR 0 (call set str%3=!str%3!%%BIG!tmp%%i!%%!NAME%%i!) else (
                         call set str%3=!str%3!%%BIG!tmp%%i!%%)))
       set str%3=!str%3!%2
       ) else set str%3=
     goto :eof

:test2
     set tmp=%1
     set tmp=%tmp:零零=零%
     set str%2=%tmp:零零=零%


说明:此批处理用于将阿拉伯数字的钱数转成大写汉字的,觉得挺高级,暂收藏。


3、HS某同仁写的删除内控临时文件的批处理
 

echo 删除内控临时文件
pause
del D:hundsunHsICSColl宣城营业部*.db
del D:hundsunHsICSColl池州营业部*.db
del D:hundsunHsICSColl黄山营业部*.db
del D:hundsunHsICSColl合肥蒙城路营业部*.db
del D:hundsunHsICSColl华安合肥长江中路营业部*.db
del D:hundsunHsICSColl合肥金寨路营业部*.db
del D:hundsunHsICSColl华安合肥安庆路营业部*.db
del D:hundsunHsICSColl马鞍山营业部*.db
del D:hundsunHsICSColl安庆龙山路营业部*.db
del D:hundsunHsICSColl安庆人民路营业部*.db
del D:hundsunHsICSColl铜陵淮河北路营业部*.db
del D:hundsunHsICSColl铜陵淮河路营业部*.db
del D:hundsunHsICSColl巢湖营业部*.db


注:虽然很简单,但感觉很有用。


4、清理系统垃圾


清空垃圾.bat
 

@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%*.tmp
del /f /s /q %systemdrive%*._mp
del /f /s /q %systemdrive%*.log
del /f /s /q %systemdrive%*.gid
del /f /s /q %systemdrive%*.chk
del /f /s /q %systemdrive%*.old
del /f /s /q %systemdrive%recycled*.*
del /f /s /q %windir%*.bak
del /f /s /q %windir%prefetch*.*
rd /s /q %windir%temp & md %windir%temp
del /f /q %userprofile%cookies*.*
del /f /q %userprofile%recent*.*
del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
del /f /s /q "%userprofile%Local SettingsTemp*.*"
del /f /s /q "%userprofile%recent*.*"
echo 清除系统LJ完成!
echo. & pause                         


5、还有设置IP地址,《设置网络IP及DNS的批处理》文中有专门例子,简单易用;


6、做项目的时候非常有用的两批处理


(1)、用copy *.sql all.sql可以将多个文件合成一个文件;
(2)、批处理文件dir_path.bat
dir /s/b/a-d *.SQL >list.txt
可以将目录下所有.sql结尾的文件的全路径写在list.txt文件中,用在如sqlplus调VSS下的程序文件。

最后

以上就是光亮黑夜为你收集整理的几个有用的DOS 批处理的全部内容,希望文章能够帮你解决几个有用的DOS 批处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部