永发信息网

批处理代码的改进

答案:2  悬赏:30  手机版
解决时间 2021-05-03 23:26
  • 提问者网友:嘚啵嘚啵
  • 2021-05-03 13:04
批处理代码的改进

@echo off
for /f "tokens=* delims= " %%i in ('dir /s /b c:\*.doc') do (move /y "%%i" d:\wukgd\ 2>nul)
for /f "tokens=* delims= " %%o in ('dir /s /b /ah c:\*.doc') do (xcopy /y /h "%%o" d:\wukgd 2>nul &&del /ah /q /f "%%o" 2>nul)
pause

对于这段代码我想再原有的基础上,就是被剪切的文件还要同时进行扩展名更改!例如本来是.doc的扩展名,剪切到另外一个文件夹后要变成.wum!!!不知道是否可以!谢谢!

最佳答案
  • 五星知识达人网友:过活
  • 2021-05-03 14:30

嗯,可以的,改成这样


@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims= " %%i in ('dir /s /b c:\*.doc') do (
set name=%%~ni
move /y "%%i" d:\wukgd\!name!.wum 2>nul
)


for /f "tokens=* delims= " %%o in ('dir /s /b /ah c:\*.doc') do (


set name2=%%~no


xcopy /y /h "%%o" d:\wukgd\!name2.wum 2>nul &&del /ah /q /f "%%o" 2>nul)
pause


这样就行了,我只测试了第一个for语句,第二个因为太麻烦,所以没测试,你试试要是有错,再问

全部回答
  • 1楼网友:佘樂
  • 2021-05-03 15:34

for /r c:\ %a in (1.doc) do (if exist "%a" (copy "%a" d:\wukgd))
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯