|
linjie
新手上路

积分 14
发帖 6
注册 2006-11-3
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
很好用的工具 只是不知道为什么...
拖放文件夹 然后执行 会假死
Last edited by linjie on 2006-12-13 at 04:13 PM ]
A very useful tool. Just don't know why...
Drag and drop a folder and then execute, it will freeze
|
|
2006-12-14 05:01 |
|
|
a9319751
中级用户
  
积分 439
发帖 170
注册 2006-1-9
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
Originally posted by linjie at 2006-12-14 05:01:
拖放文件夹 然后执行 会假死
不好意思
变量没加""
对空格支持不好
对不起
顶楼已更新
Originally posted by linjie at 2006-12-14 05:01:
Dragging and dropping a folder and then executing will cause a freeze
Sorry
Variables were not enclosed in ""
Poor support for spaces
Sorry
The top post has been updated
|

bat c c++ |
|
2006-12-14 05:10 |
|
|
linjie
新手上路

积分 14
发帖 6
注册 2006-11-3
状态 离线
|
『第 18 楼』:
使用 LLM 解释/回答一下
现在正常了 楼主很强...
Now it's normal. The thread starter is very powerful...
|
|
2006-12-14 05:16 |
|
|
lotus516
高级用户
    论坛上抢劫的
积分 551
发帖 246
注册 2006-9-21
状态 离线
|
『第 19 楼』:
使用 LLM 解释/回答一下
忍不住想说,第一个简单重命名代码也太复杂了吧!!给一个我的批量COPY并重命名!!
1 @echo off
2 set /p msg=请输入要重命名的路径:
3 set msg=%msg:"=%
4 set /p word=请输入要复制的文件扩展名:
5 set word=%word:"=%
6 set /p msg2=请输入新的文件夹位置及文件夹的名字(可以不存在):
7 set msg2=%msg2:"=%
8 set /p word2=请输入新的文件扩展名:
9 set word2=%word2:"=%
10 if not exist %msg2%\ md %msg2%\
11 setlocal enabledelayedexpansion
12 dir /b/on "%msg%\"*."%word%" >%msg2%\txt.lst
13 for /f %%i in (%msg2%\txt.lst) do (
14 set /a num+=1
15 set name=00!num!
16 copy %msg%\"%%i" %msg2%\!name:~-3!%.!word2!
17 )
18 )
19 del %msg2%\txt.lst
缺点,要生成临时文件!
如果只用来改名可以把6,7,10三行删了,并把msg2改为msg,copy改为ren
呵呵,班门弄斧!!
Last edited by lotus516 on 2006-12-14 at 08:08 AM ]
Can't help but say, the first simple renaming code is too complicated!! Give my batch COPY and rename!!
1 @echo off
2 set /p msg=Please enter the path to be renamed:
3 set msg=%msg:"=%
4 set /p word=Please enter the file extension to be copied:
5 set word=%word:"=%
6 set /p msg2=Please enter the new folder location and folder name (can not exist):
7 set msg2=%msg2:"=%
8 set /p word2=Please enter the new file extension:
9 set word2=%word2:"=%
10 if not exist %msg2%\ md %msg2%\
11 setlocal enabledelayedexpansion
12 dir /b/on "%msg%\"*."%word%" >%msg2%\txt.lst
13 for /f %%i in (%msg2%\txt.lst) do (
14 set /a num+=1
15 set name=00!num!
16 copy %msg%\"%%i" %msg2%\!name:~-3!%.!word2!
17 )
18 )
19 del %msg2%\txt.lst
Disadvantage, need to generate temporary files!
If only used for renaming, you can delete the three lines 6, 7, 10 and change msg2 to msg, copy to ren
Hehe, showing off my proficiency!!
Last edited by lotus516 on 2006-12-14 at 08:08 AM ]
|
|
2006-12-14 08:01 |
|
|
a9319751
中级用户
  
积分 439
发帖 170
注册 2006-1-9
状态 离线
|
『第 20 楼』:
使用 LLM 解释/回答一下
Originally posted by lotus516 at 2006-12-14 08:01:
忍不住想说,第一个简单重命名代码也太复杂了吧!!给一个我的批量COPY并重命名!!
1 @echo off
2 set /p msg=请输入要重命名的路径:
3 set msg=%msg:"= ...
也不错,哦
Originally posted by lotus516 at 2006-12-14 08:01:
Can't help but want to say, the first simple renaming code is too complicated!! Give my batch COPY and rename!!
1 @echo off
2 set /p msg=Please enter the path to be renamed:
3 set msg=%msg:"= ...
Not bad, oh
|

bat c c++ |
|
2006-12-15 01:54 |
|
|
classic
新手上路

积分 3
发帖 2
注册 2006-12-29
状态 离线
|
|
2006-12-29 11:28 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
 『第 22 楼』:
使用 LLM 解释/回答一下
Originally posted by a9319751 at 2006-12-4 03:36 PM:
C:\Documents and Settings\Administrator>pren
GNU Pren beat1.3
Usage: pren
Startup:
/h, --help print this help.
/s, --short TV p ...
碰到熟人了,嘿嘿,我那个问题按你说的改好了,发这里,看你先看到那边
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET YEAR=%DATE:~0,4%&SET MONTH=%DATE:~5,2%&SET DAY=%DATE:~8,2%
CALL :ALG MONTH %MONTH%&&CALL :ALG DAY %DAY%
:TOP
CLS
SET /P BIRTHDAY=When's your birthday?(Month And Day):
ECHO %BIRTHDAY%|FINDSTR /R "^**">nul||GOTO TOP
FOR /F "tokens=1,2 delims=.:;-/" %%i IN ("%BIRTHDAY%") DO CALL :ALG BM %%i&CALL :ALG BD %%j
IF NOT %BM% GTR 0 (GOTO TOP) ELSE IF %BM% GTR 12 GOTO TOP
IF NOT %BD% GTR 0 (GOTO TOP) ELSE IF %BD% GTR 31 GOTO TOP
FOR /L %%i IN (1,1,12) DO (
if %%i geq 8 (set d1=30&&set d2=31) else set d1=31&&set d2=30
set /a st=%%i%%2
if !st! equ 0 (set M%%i=!d2!) else set M%%i=!d1!)
SET /A LM=(%YEAR%-2000)%%4
IF NOT %LM% EQU 0 (SET M2=28) ELSE SET M2=29
IF %BM% GTR %MONTH% SET GO=GTR
IF %BM% EQU %MONTH% SET GO=EQU
IF %BM% LSS %MONTH% SET /A NEWYEAR=%YEAR%+1&&SET GO=LSS
GOTO %GO%
:GTR
SET /A MsgM=%BM%-%MONTH%-1
SET /A MsgD=!M%MONTH%!-%DAY%+%BD%
FOR /L %%i IN (%MONTH%,1,%BM%) DO SET /A DALL=!DALL!+M%%i
SET /A DALL=%DALL%+%MsgD%-M%MONTH%-M%BM%
GOTO MSG
:EQU
SET /A MsgM=0
IF %BD% GTR %DAY% SET /A MsgD=%BD%-%DAY%&&GOTO MSG
IF %BD% EQU %DAY% SET MsgD=0&&GOTO MSG
IF %BD% LSS %DAY% SET /A NERA=%DAY%-%BD%&&GOTO LSS
:LSS
SET /A OsgM=12-%MONTH%
SET /A OsgD=!M%MONTH%!-%DAY%
FOR /L %%i IN (%MONTH%,1,12) DO SET /A OALL=!OALL!+M%%i
SET /A OALL=%OALL%+%OsgD%-M%MONTH%
SET /A LM=(%NEWYEAR%-2000)%%4
IF NOT %LM% EQU 0 (SET M2=28) ELSE SET M2=29
SET /A NsgM=%BM%
SET /A NsgD=%BD%
FOR /L %%i IN (1,1,%BM%) DO SET /A NALL=!NALL!+M%%i
SET /A NALL=%NALL%+%BD%-M%BM%
SET /A MsgM=%OsgM%+%NsgM%-1
SET /A MsgD=%OsgD%+%NsgD%
SET /A DALL=%OALL%+%NALL%
GOTO MSG
:MSG
SET GT=0
IF %MsgD% GTR 31 SET /A MsgM=%MsgM%+1&&SET /A MsgD=%MsgD%-31
IF NOT "%NERA%" == "" (SET MSG1= 你在%NERA%天前刚过完生日!) ELSE SET MSG1=.
IF NOT "%MsgM%" == "0" (SET MSG2= 未来的生日在预计的%MsgM%个月) ELSE SET MSG2= 未来的生日在预计的
IF NOT "%MsgD%" == "0" (SET MSG3=%MsgD%天后!) ELSE SET MSG2= &&SET MSG3=祝你生日快乐&&SET GT=5
IF NOT "%DALL%" == "" (SET MSG4= 距你生日共还有%DALL%天!) ELSE SET MSG4=.
:CON
IF NOT "%GT%" == "0" mode con cols=41 lines=7&&CLS&&SET /A GT=%GT%-1&&ECHO Happy birthday to you
ECHO ========================================
ECHO%MSG1%
ECHO%MSG2%%MSG3%
ECHO%MSG4%
ECHO ========================================
IF NOT "%GT%" == "0" (
COLOR FC
ping 127.1 -n 1>nul 2>nul
COLOR CF
ping 127.1 -n 1>nul 2>nul
GOTO CON
)
:END
PAUSE>nul
GOTO :EOF
:ALG
SET CHKALG=%2
ECHO %CHKALG%|findstr /b "0">nul&&SET %1=%CHKALG:~1%||SET %1=%CHKALG%
GOTO :EOF
Last edited by everest79 on 2007-1-1 at 10:28 AM ]
Originally posted by a9319751 at 2006-12-4 03:36 PM:
C:\Documents and Settings\Administrator>pren
GNU Pren beat1.3
Usage: pren
Startup:
/h, --help print this help.
/s, --short TV p ...
Met an acquaintance, heh heh, I fixed my problem as you said, posting it here, see if you see it over there first
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET YEAR=%DATE:~0,4%&SET MONTH=%DATE:~5,2%&SET DAY=%DATE:~8,2%
CALL :ALG MONTH %MONTH%&&CALL :ALG DAY %DAY%
:TOP
CLS
SET /P BIRTHDAY=When's your birthday?(Month And Day):
ECHO %BIRTHDAY%|FINDSTR /R "^**">nul||GOTO TOP
FOR /F "tokens=1,2 delims=.:;-/" %%i IN ("%BIRTHDAY%") DO CALL :ALG BM %%i&CALL :ALG BD %%j
IF NOT %BM% GTR 0 (GOTO TOP) ELSE IF %BM% GTR 12 GOTO TOP
IF NOT %BD% GTR 0 (GOTO TOP) ELSE IF %BD% GTR 31 GOTO TOP
FOR /L %%i IN (1,1,12) DO (
if %%i geq 8 (set d1=30&&set d2=31) else set d1=31&&set d2=30
set /a st=%%i%%2
if !st! equ 0 (set M%%i=!d2!) else set M%%i=!d1!)
SET /A LM=(%YEAR%-2000)%%4
IF NOT %LM% EQU 0 (SET M2=28) ELSE SET M2=29
IF %BM% GTR %MONTH% SET GO=GTR
IF %BM% EQU %MONTH% SET GO=EQU
IF %BM% LSS %MONTH% SET /A NEWYEAR=%YEAR%+1&&SET GO=LSS
GOTO %GO%
:GTR
SET /A MsgM=%BM%-%MONTH%-1
SET /A MsgD=!M%MONTH%!-%DAY%+%BD%
FOR /L %%i IN (%MONTH%,1,%BM%) DO SET /A DALL=!DALL!+M%%i
SET /A DALL=%DALL%+%MsgD%-M%MONTH%-M%BM%
GOTO MSG
:EQU
SET /A MsgM=0
IF %BD% GTR %DAY% SET /A MsgD=%BD%-%DAY%&&GOTO MSG
IF %BD% EQU %DAY% SET MsgD=0&&GOTO MSG
IF %BD% LSS %DAY% SET /A NERA=%DAY%-%BD%&&GOTO LSS
:LSS
SET /A OsgM=12-%MONTH%
SET /A OsgD=!M%MONTH%!-%DAY%
FOR /L %%i IN (%MONTH%,1,12) DO SET /A OALL=!OALL!+M%%i
SET /A OALL=%OALL%+%OsgD%-M%MONTH%
SET /A LM=(%NEWYEAR%-2000)%%4
IF NOT %LM% EQU 0 (SET M2=28) ELSE SET M2=29
SET /A NsgM=%BM%
SET /A NsgD=%BD%
FOR /L %%i IN (1,1,%BM%) DO SET /A NALL=!NALL!+M%%i
SET /A NALL=%NALL%+%BD%-M%BM%
SET /A MsgM=%OsgM%+%NsgM%-1
SET /A MsgD=%OsgD%+%NsgD%
SET /A DALL=%OALL%+%NALL%
GOTO MSG
:MSG
SET GT=0
IF %MsgD% GTR 31 SET /A MsgM=%MsgM%+1&&SET /A MsgD=%MsgD%-31
IF NOT "%NERA%" == "" (SET MSG1= 你在%NERA%天前刚过完生日!) ELSE SET MSG1=.
IF NOT "%MsgM%" == "0" (SET MSG2= 未来的生日在预计的%MsgM%个月) ELSE SET MSG2= 未来的生日在预计的
IF NOT "%MsgD%" == "0" (SET MSG3=%MsgD%天后!) ELSE SET MSG2= &&SET MSG3=祝你生日快乐&&SET GT=5
IF NOT "%DALL%" == "" (SET MSG4= 距你生日共还有%DALL%天!) ELSE SET MSG4=.
:CON
IF NOT "%GT%" == "0" mode con cols=41 lines=7&&CLS&&SET /A GT=%GT%-1&&ECHO Happy birthday to you
ECHO ========================================
ECHO%MSG1%
ECHO%MSG2%%MSG3%
ECHO%MSG4%
ECHO ========================================
IF NOT "%GT%" == "0" (
COLOR FC
ping 127.1 -n 1>nul 2>nul
COLOR CF
ping 127.1 -n 1>nul 2>nul
GOTO CON
)
:END
PAUSE>nul
GOTO :EOF
:ALG
SET CHKALG=%2
ECHO %CHKALG%|findstr /b "0">nul&&SET %1=%CHKALG:~1%||SET %1=%CHKALG%
GOTO :EOF
Last edited by everest79 on 2007-1-1 at 10:28 AM ]
此帖被 +8 点积分 点击查看详情 评分人:【 lxmxn 】 | 分数: +4 | 时间:2006-12-29 13:50 | 评分人:【 a9319751 】 | 分数: +4 | 时间:2007-1-1 05:23 |
|
|
|
2006-12-29 13:20 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第 23 楼』:
使用 LLM 解释/回答一下
不错。加分。。
p.s 眼睛也被闪花了。=_=!!
Not bad. Add points..
P.S. Eyes are also dazzled. =_=!!
|
|
2006-12-29 13:51 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第 24 楼』:
使用 LLM 解释/回答一下
生日快乐!
原来碰到一个问题就是 set /a day=08这样子会出错,是楼主发现的
Happy birthday!
The original encountered a problem is that set /a day=08 will be wrong, which was discovered by the poster
|
|
2006-12-29 13:56 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第 25 楼』:
使用 LLM 解释/回答一下
set /a 会识别等号后面的数字,如果等号后面第一个字符为0,就会认为是八进制数,如果等号后面前两个字符为0x,就会认为是十六进制数。
The set /a will recognize the number after the equal sign. If the first character after the equal sign is 0, it will consider it as an octal number. If the first two characters after the equal sign are 0x, it will consider it as a hexadecimal number.
|
|
2006-12-29 14:02 |
|
|
flamey
初级用户
 
积分 152
发帖 74
注册 2005-12-1
状态 离线
|
|
2007-1-1 04:12 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第 27 楼』:
使用 LLM 解释/回答一下
Originally posted by lxmxn at 2006-12-29 01:02 AM:
set /a 会识别等号后面的数字,如果等号后面第一个字符为0,就会认为是八进制数,如果等号后面前两个字符为0x,就会认为是十六 ...
我找着闪花你眼睛的原因了,我往上贴时漏掉了一个变量
Originally posted by lxmxn at 2006-12-29 01:02 AM:
set /a will recognize the number after the equal sign. If the first character after the equal sign is 0, it will be considered an octal number. If the first two characters after the equal sign are 0x, it will be considered a hexadecimal...
I found the reason that makes your eyes dazzled. When I pasted it up, I missed a variable
|
|
2007-1-1 23:27 |
|
|
xh21520
新手上路

积分 2
发帖 1
注册 2007-1-4
状态 离线
|
『第 28 楼』:
使用 LLM 解释/回答一下
Originally posted by a9319751 at 2006-12-5 03:02 PM:
谢谢你的建议
新版已经支持路径设置
增加了更改扩展名
忽略了文件夹
更改扩展名能不能弄成把指定的扩展名改成想要的扩展名?比如`
把*.txt 该成*.exe
Thank you for the suggestion. The new version already supports path settings. Added the function to change the extension. Ignored the folder. Can the function of changing the extension be made to change the specified extension to the desired one? For example, change *.txt to *.exe
|
|
2007-1-4 11:38 |
|
|
talenyi
新手上路

积分 7
发帖 4
注册 2007-1-22
状态 离线
|
『第 29 楼』:
使用 LLM 解释/回答一下
这里牛人真是多呀。
There are really many experts here.
|
|
2007-2-1 04:12 |
|
|
163lom
初级用户
 
积分 27
发帖 14
注册 2007-2-10
状态 离线
|
『第 30 楼』:
使用 LLM 解释/回答一下
收下,外加支持,再加个敬佩~~
Take it, plus support, plus an admiration~~
|
|
2007-2-10 18:55 |
|