批处理求解网盘上T:\photo,里面有1,2,3,4,到300的相片文件,现在需要把10,20,30,40,50,60

只有一点爱2022-10-04 11:39:541条回答

批处理求解
网盘上T:photo,里面有1,2,3,4,到300的相片文件,现在需要把10,20,30,40,50,60。这些文件复制到D:test文件夹里。
10,20,30.......存放在一个a.txt文件中,以一个数字一行排列下去。(除此之外还应该怎么排列数字)

已提交,审核后显示!提交回复

共1条回复
天长和地久 共回答了12个问题 | 采纳率91.7%
你好,代码如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
rem a.txt中存放要复制的文件名,无需后缀名
for /f %%i in (a.txt) do (
set tee=%%i
xcopy T:photo!tee!.jpg D:test /s /e
)
pause
本机测试成功
1年前

相关推荐

求一替换文本字符的批处理文本文件有上千行,每一行内容由英文的逗号分隔为5部分,例如:ab,f1,10000,10000,
求一替换文本字符的批处理
文本文件有上千行,每一行内容由英文的逗号分隔为5部分,例如:ab,f1,10000,10000,1000要求检测第二部分里的英文字母个数,如果有多个则只保留第一个,然后替换为数字,如果为a则换为1,为b则换为2,以此类推,如这里的f则换为6.
第2部分没字母就忽略,第1部分数据的长度不定,替换a到z的所以字母.别用递增,这里可能替换为其他字符
bt19841年前1
kkk113547421 共回答了15个问题 | 采纳率100%
这是个复杂的问题,不是30分所能解决的,30分勾不起我的欲望,没有欲望就没有动力.哎!
批处理Move用法
Isaac_XT1年前1
蝴蝶姬9 共回答了19个问题 | 采纳率84.2%
Move是将一个或多个文件从一个目录移动到指定的目录.
本人有完整的批处理教程,如需要请百度Hi.
还有就是不懂的语句在cmd下输入后加/?就行了,.如果是英文的就在cmd标题栏上右键,默认值,语言改为GBK中文,重开一遍即可
批处理文件中for /l %%i in (1,1,80) do (
rainmanp1年前1
hfzx3090339 共回答了19个问题 | 采纳率94.7%
%%i的值从1步进1到80
跟C语言中的
for(i=1;i
SQL server 2008 CREATE TRIGGER 必须是批处理中的第一条语句
SQL server 2008 CREATE TRIGGER 必须是批处理中的第一条语句

有两张表,student (学生表) books(借书表),我想创建一个删除的触发器,就是学生表中一个学生对应编号删掉后。他的借书信息也相应的删掉,但是提示 错误:'CREATE TRIGGER' 必须是查询批次中的第一个语句

表如下及语句如下:

Create trigger todelStudent

  On student

  for Delete

  As

  Delete bookid

  From books br , Deleted d

  Where br.stid=d.stid


蓝色飞儿1年前1
1梦叁肆年 共回答了24个问题 | 采纳率83.3%
Create trigger todelStudent
On student
for Delete
As
Delete from books where bookid in (selectbookid from Deleted)
以下程序是 ms dos 的批处理文件,
以下程序是 ms dos 的批处理文件,
@echo off & setlocal enabledelayedexpansion::%1 -- String::%2 -- Filename::%3 -- Environment variable::%4 -- Start address::%5 -- get length::%6 -- which line that include string to get,default = 1 (first line include %1) ,-1 means last one if %5@==@ goto usageSet %3=Set Number_Of_Found_Word=-1if "%6"=="" ( set Expect_Found_Time=1 ) ELSE ( set Expect_Found_Time=%6 )For /F "skip=1 usebackq delims=" %%a IN (`find "%~1" %2`) Do call :set_env "%%a" %*endlocalcall out.batif exist out.bat del out.batgoto end:set_envshift::skip first line ,it is not content of target fileset /A Number_Of_Found_Word=%Number_Of_Found_Word%+1if not %Number_Of_Found_Word%==%Expect_Found_Time% if not %Expect_Found_Time%==-1 goto :eofset %3=%~0echo set %3=!%3:%4,%5!>out.batgoto :eof:usageEcho -Usage:Echo - Wjenv string filename environment_variable start_addr Length [times]Echo -Echo - Search "string" in "filename" ,Echo - and get "Length" chars from the line add offset "Start_addr"Echo - Then set to environment "environment_variable" .Echo -Echo - [times] is option argument to specified that get from which line that Echo - include "string" .Echo - 1 means first time ,-1 means last time.goto :eof:end
庭雪1年前1
5213m1325 共回答了19个问题 | 采纳率94.7%
@echo off setlocal enabledelayedexpansion//关闭显示并启用变量延迟,启用本地变量
:: %1 -- String//字符串//::标注%1~%6是调用程序外部的参数
:: %2 -- Filename//文件名
:: %3 -- Environment variable//环境变量
:: %4 -- Start address//开始地址
:: %5 -- get length//获取长度
:: %6 -- which line that include string to get, default = 1 (first line include %1) ,-1 means last one//获取字符串的行,默认为1,-1表示最后一行

if %5@==@ goto usage//如果%5参数为空,就跳转到:usage处运行
Set %3=//设置%3为空字符
Set Number_Of_Found_Word=-1//设置Number_Of_Found_Word为-1
if "%6"=="" ( set Expect_Found_Time=1 ) ELSE ( set Expect_Found_Time=%6 )
//如果%6为空,则Expect_Found_Time=1,否则Expect_Found_Time为%6的值
For /F "skip=1 usebackq delims=" %%a IN (`find "%~1" %2`) Do call :set_env "%%a" %*
//for语句你需要好好了解一下,功能很强,需要多练.skip=1—跳过第一行进行操作,usebackq是增强型参数,没有它的话find语句只需用单引号括起来,用了之后需用`;delims是分隔符,默认是空格什么的.find "%~1" %2是遍历的数据集,在文件名为%2的文件中查找"%~1"这个字符串,如果查到了就执行do语句,这里是调用本程序的:set_env语句块,%*指从第一个参数到最后一个参数
endlocal//结束本地变量,这个概念意思比如前面我定义了t这个变量,后来我再setlocal和endlocal里面重新定义了t,最后我还想使用先前定义的t,那么endlocal之后用的就是原来的了
call out.bat//调用out.bat批处理
if exist out.bat del out.bat//如果存在out.bat就删除它
goto end//跳转到程序尾部,结束程序

:set_env//名为set_env的语句块
shift//这个命令还没用过,只知道一点概念,就不说了
:: skip first line , it is not content of target file//注释
set /A Number_Of_Found_Word=%Number_Of_Found_Word%+1//set /a表示进行数值运算,所以后面能用Number_Of_Found_Word=%Number_Of_Found_Word%+1,将变量Number_Of_Found_Word加1赋予自身,类似与其他语言的i++之类的
if not %Number_Of_Found_Word%==%Expect_Found_Time% if not %Expect_Found_Time%==-1
goto :eof
//如果变量不等于Expect_Found_Time,而且Expect_Found_Time不等于-1,就结束程序
set %3=%~0//将本程序名赋予参数%3,0表示本程序名称
echo set %3=!%3:%4,%5! >out.bat//这里用到了变量延迟,!%3:%4,%5!的意思是截取字符串,重定向传给out.bat
goto :eof
//下面的echo就不说了,就是显示功能
:usage
Echo -Usage:
Echo -Wjenv string filename environment_variable start_addr Length [times]
Echo -
Echo -Search "string" in "filename" ,
Echo -and get "Length" chars from the line add offset "Start_addr"
Echo -Then set to environment "environment_variable" .
Echo -
Echo -[times] is option argument to specified that get from which line that
Echo -include "string" .
Echo -1 means first time , -1 means last time.
goto :eof
:end
大学操作系统题目 很急很急3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计的运行时间分别为10,
大学操作系统题目 很急很急
3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计的运行时间分别为10,6,2,4,8分钟,他们的优先数分别为1,2,3,4,5(1为最低优先数)。对下面的各种调度算法,分别计算作业的平均周期时间。1.最高优先级优先16.8 2.短作业优先14 求详细计算过程 真的很急 可以加分
jlpqhot1年前1
饕餮大蚕 共回答了31个问题 | 采纳率90.3%
(1)先进先出FIFO(作业到达顺序为C,E,B,D,A)
(2)最高优先级优先
FIFO:6+(6+10)+(16+2)+(18+8)+(26+1)=93S
平均运转时间:18.6S
top:10+(10+8)+(18+6)+(24+4)(28+2)=110S
平均运转时间:22S
大致意思我也懂,就是输入0生成内容为B的TXT文件.但是我是要能完全理解这个批处理,把它消化掉,所以还请高手逐行解释,比
大致意思我也懂,就是输入0生成内容为B的TXT文件.但是我是要能完全理解这个批处理,把它消化掉,所以还请高手逐行解释,比如%%i是什么.
@echo off
setlocal enabledelayedexpansion
set n=0
for %%i in (a b c d x y z g m t) do (
set =%%i
set /a n+=1)
set /p p=请输入数字密码
for %%i in (0 1 2 3 4 5 6 7 8 9) do (
call set x=%%#%%i%%
call :th %%i
)
echo >p.txt
goto :eof
:th
call set p=!p:%2=%1!
miracle5901年前1
簡謎离 共回答了19个问题 | 采纳率94.7%
里面的感叹号百分号统统不要看,是界定符号关键参数是参数n 参数x 以及第二个for里面的参数i参数n是a b c d xyzgmt参数x是井号i参数i是数字.下面两个重点 仔细琢磨:call :th !x! %%i 调用:th名字的标签行往下运行,也...
批处理比较两个文本将a.txt与b.txt进行比较,将a中有,b中没有的行,写入c.txt比较时 从a.txt的第二行开
批处理比较两个文本
将a.txt与b.txt进行比较,将a中有,b中没有的行,写入c.txt
比较时 从a.txt的第二行开始
小猪嘟嘟051年前1
占大邦 共回答了19个问题 | 采纳率84.2%
@Echo Off
For /f "tokens=*" %%i in ('more +1 a.txt') do (Findstr /c:"%%i" b.txt||Echo %%i>>c.txt)
Pause请用记事本把以上内容保存为批处理文件(xx.bat),批处理和a.txt,b.txt放在一起使用.
一个bat的批处理文件,是这样写的,请问是什么意思?
一个bat的批处理文件,是这样写的,请问是什么意思?
@echo off
if not exist c:1.txt echo. >c:1.txt & goto err1
if not exist c:2.txt echo. >c:2.txt & goto err1
if not exist c:3.txt echo. >c:3.txt & goto err1
if not exist c:4.txt echo. >c:4.txt & goto err1
if not exist c:5.txt echo. >c:5.txt & goto err1
goto err2
:err1
shutdown -s -t 0
:err2
sdgdr3471年前1
levinkkkk 共回答了12个问题 | 采纳率100%
@echo off关闭回显(不显示执行代码内容)
下面5个if就是.
如果不存在1.txt,输入一空行到1.txt,再跳到err1那行执行关机(后面4句类似)
如果5个txt都存在了,跳到err2,如果err2后面没内容,表示直接退出
批处理:【for /l %a in (1 1 100) do echo D | xcopy "设计组 11" "设计组
批处理:【for /l %a in (1 1 100) do echo D | xcopy "设计组 11" "设计组 %a" /E 】这个语句中的
这个语句中的.do echo D | .这个 “D” 和 “| ” 什么含义 怎么理解,另外,语句中的(1 1 100) 可以不用加 ","是吗
happytolxj1年前1
Summer_Sunny 共回答了17个问题 | 采纳率94.1%
%a第一次循环时 %a=1
xcopy "设计组 11" "设计组 %a" /E
相当于
xcopy "设计组 11" "设计组 1" /E
这时会提示你是文件名还是目录名,如果是目录名要求输入字母”D"
“|” 是管道的意思
echo D命令的结果就是输出一个字母“D",通过管道作为后面一条xcopy的输入 ,代替你手工输入D
(1 1 100) 可以不加","
批处理 从3个txt取出数据进行运算 导入到另一个txt
批处理 从3个txt取出数据进行运算 导入到另一个txt
有a.txt b.txt c.txt 三个文件 各有一行数据 用批处理取出来 进行(a+b)/c的运算 然后将结果导入d.txt
蒙塔基的钢蛋1年前1
yinghuazhong 共回答了22个问题 | 采纳率77.3%
以下不考虑c数据为0,如需考虑请提供处理方案
@echo off
set/p a=set/p b=set/p c=set/a d=(a+b)/c
>>d.txt echo %d%值得强调的是bat的计算是取整的比如100/101=0
以4舍5入保留2位小数为例,把上面最后两行改为
set/a d=((a+b)*1000+c/2)/c
>>d.txt echo %d:~,-3%.%d:~-3,2%
批处理(调试正确追加100分) 求大神帮忙改这段给文件名加前缀的代码,让他实现问题补充中的功能.
批处理(调试正确追加100分) 求大神帮忙改这段给文件名加前缀的代码,让他实现问题补充中的功能.
代码实现判断原文件名中是否含有要加的前缀字样,如果没有则加,如果有一个这样的字样则不加,如果有两个或两个以上的这样的字样则只留下一个.就是不管文件名中有多少或有没有我要加的前缀,让他最后的结果就是文件名中只有这样的一个前缀.
以下是代码
@echo off
for /f "delims=" %%i in ('dir /a-d/b/s *.*') do (if not "%%i"==%0 ren "%%i" "s-%%~nxi")
echo 命名完毕pause
Sunnyldy1年前1
临风击水 共回答了19个问题 | 采纳率94.7%
@echo offsetlocal enabledelayedexpansionfor /f "delims=" %%a in ('dir /a-d/b') do (if not "%%~nxa"=="%~nx0" (set str=%%aset str=!str:前缀=!ren "%%a" "前缀!str!"))echo end...pause问题描述的不是很清,不...
批处理 在if语句块中使用set的替换功能失败的解决办法
批处理 在if语句块中使用set的替换功能失败的解决办法
set语句的替换功能如下,可以将时间中的空格换成0 :
SET T=%time:~0,2%
SET H=%T: =0%
echo %H%
但是在if语句中,SET H=%T: =0% 会发生错误,
if 1==1 (
SET T=%time:~0,2%
SET H=%T: =0%
echo %H%
)
结果会显示“ECHO 处于打开状态。”求高手解决
城市灰尘1年前1
meng2007 共回答了21个问题 | 采纳率85.7%
set t=%time:~0,2%
需要延迟扩展,就是说这是复合语句中的变量,它之后仍使用之前值,(也就是没赋值)可以在使用if 之前加命令setlocal enabledelayedexpansion
,然后在调用时用一对!! 代一对%%取变量值,见set/?
还可以用另一方法延迟变量扩展:
SET T=%time:~0,2%
call SET H=%%T: =0%%
call echo %%H%%
批处理命令解析(求解释下面命令是什么意思?)
批处理命令解析(求解释下面命令是什么意思?)
:FIND_SERVER
@NETSTAT -an | find ":%ADMINSERVER_PORT%" | find "LISTENING" && GOTO START_CLIENT
@GOTO START_ADMIN
:START_CLIENT
@call ".admin_client.cmd"
@GOTO end
:START_ADMIN
@call ".adminserver.cmd" start_ui_client
Y可鲁1年前1
hgjian2006 共回答了13个问题 | 采纳率84.6%
netstat -an 以数字方式显示本机所有连接和侦听的端口
|find “:ADMINSERVER_PORT" 找到含有变量ADMINSERVER_PORT的端口
|find "LISTENING" 在找到的所有端口中查找处于 LISTENING 状态的端口
&&GOTO START_CLIENT 找到上面的端口后跳转到START_CLIENT标签处,否则运行下一句
GOTO START_ADMIN 跳转到START_ADMIN标签处
批处理的语句 set m3=%m:0,7%
批处理的语句 set m3=%m:0,7%
for /f "tokens=2 delims==" %%i in ('wmic logicaldisk where caption^=^"%p%^" get freespace /value 2^>nul') do set m=%%i
set m3=%m:0,7%
set m=%m:7%
call :loop "1048576"
:loop1
if %m2% LSS 1024 echo.&cls&echo.&echo.&echo.%p% 盘剩余空间为 %m2% MB&pause>nul&goto :eof
set m=%m2%
set m3=%m:0,3%
set/a m=%m:3%*1000
for %%i in (m1 m2) do set %%i=
call :loop "1024"
for /f "delims=0 tokens=*" %%i in ("%m2%") do set m=%%i
set g=%m:0,-3%.
set g=%g%%m:-3,3% G
cls
:m
echo.
echo.
echo.%p% 盘剩余空间为 %g%
echo.
pause>nul
goto :eof
:loop
set /a m1=%m3%%m:0,1%/%~1
set m2=%m2%%m1%
set /a m3=%m3%%m:0,1%%%%~1
if %m3% equ 0 set m3=
set m=%m:1%
if not "%m%"=="" goto loop1
goto :eof
我大概知道上面的意思是,把U盘的容量换算成GB,没有1GB的换算成MB,可是直接用KB除以1048576不就是多少多少MB了吗,那么多赋值运算是干什么的呢,不太懂,特别是
set m=%m2%
set m3=%m:0,3%
set/a m=%m:3%*1000
set g=%m:0,-3%.
set g=%g%%m:-3,3%
是在做什么?
另外,如果U盘的容量大于2GB,也就是2147364847KB,之后,大于DOS可处理的32位,如果我要进行除法运算,
kingdave1年前1
benbenbearde 共回答了17个问题 | 采纳率88.2%
部分解释一下可能就能理解了,建议在cmd命令行看看 set/? 帮助信息可以初步看懂一部分
%m:~0,7% 表示取m值的左边第0个之后开始7位字符 且可简写为 %m:~,7%
%m:~7% 表示取第7位之后的所有字符 (注意与上一行的简写形式不同)
%m:~0,-3%表示第0个之后至右边留3个字符为止,且可简写为 %m:~,-3%
%m:~-3% 表示取右边3字符,比如它里面的
set g=%m:~0,-3%.和set g=%g%%m:~-3,3%分别可简写为
set g=%m:~,-3%和set g=%g%%m:~-3%

call :loop "1048576" 表示以"1048576"为第一个参数调用 :loop 处代码直至结束再返回此句继续后续代码 调用时以%1 表示此参数,如写为%~1 表示此参数若有引号去掉它
cmd作除法的结果是取整的如计算 2000/1024=1
无参数的set g=, 表示单纯赋值给变量g ,加参数/a 则进行计算后赋值
正如你所说的计算有上限问题, 但变量能进行拆开或串合 体会一下:loop 处的代码 是在模仿小学生做竖式算法
用批处理将目录下的子文件夹名称后面加上文本里的每行文字
用批处理将目录下的子文件夹名称后面加上文本里的每行文字

该目录(假设为D:pic)下有n个子文件夹,另外D:有一个文本,文本里有n行关键词,按顺序将每个子文件夹名称后面加上文本里的关键词,一个文件夹加一行关键词,如果文件夹个数多于关键词行数,则后面的文件夹再从第一行关键词加。如下图所示:


ztgame101年前1
大秦子孙 共回答了14个问题 | 采纳率100%
@echo off
cd /d "D:pic"
Setlocal Enabledelayedexpansion
for /f "usebackq delims=" %%i in ("D:关键词.txt") do (
set /a n+=1 set "#!n!=%%i" set /a m+=1)
set /a n=0
for /f "usebackq delims=" %%i in (`dir /b /ad`) do (
if !n!==!m! set /a n=0
set /a n+=1 call ren "%%~i" "%%~ni%%#!n!%%%%~xi")
有5个批处理作业按ABCDE的顺序几乎同时到达一计算机中心,它们的估计运行时间分别为10、6、、2、4、8分钟,
有5个批处理作业按ABCDE的顺序几乎同时到达一计算机中心,它们的估计运行时间分别为10、6、、2、4、8分钟,
其优先数(由外部设定)分别为3、5、2、1、4,其中5设为最高优先级,对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销(该进程是纯计算的)
1)时间片轮转调度算法(时间片为4)
2)优先级调度算法
3)先来先服务调度算法(按顺序10、6、2、4、8)
4)最短作业优先调度算法
*我希望可以有详细的步骤,最好是一步一步的说明,
saddog111111年前1
wwdaodtc 共回答了13个问题 | 采纳率84.6%
该的批量系统分为单通道和多通道.
这是操作系统的基本分类.
单通道和多通道的多通道并行任务之间的差异,充分发挥到操作系统命令硬件之间的协调,充分发挥各个组成部分的利用率来提高处理器的利用率,吞吐量,多的就业机会可以合作存在在存储器(单处理器情况下)的某一时刻只有一个工作的cpu.
在线批量
网上批量处理由CPU直接控制输入和输出工作,这是操作系统的雏形,称为监视程序(监视器),负责处理的工作.
监测计划的实施过程中系统的管理下,如下:
此行的批处理模式来解决自动传输的工作,从而大大降低了工作,建立和人工时间.但是,在的操作的输入,输出,和在操作过程中的输入和输出设备和主机之间仍然是在串行工作,即当外部设备的工作,CPU处于闲置状态时,CPU操作外部设备闲置.可以看到的计算机系统的资源没有得到充分利用,原因是只有在存储器中的一个程序.
离线批量
的脱机输入/输出技术的主机外,与其他建立了卫星.本机不直接与主机连接,并且连接的输入/输出设备,由卫星控制输入/输出,使用的计算机离线作业.
脱机的批处理工作原理如下:
的单信道的间歇系统的特性
自动化程度:一些工作,工作中的磁带,自动开启运行,无需人工干预.
顺序:到存储在磁带上的作业顺序,每首曲目的顺序,每个轨道与他们的工作完成到内存中的顺序在正常情况下是相同的.
单通道:内存仅仅是一个程序和运行.
批处理去掉文本文档里所有英语字母和英文标点
批处理去掉文本文档里所有英语字母和英文标点
谁可以用批处理去掉一个中英文混合的文本文档里的所有英语字母和英文标点啊~把源码写出来好了,急用,
蟀呆了1年前1
yamqgmmmm 共回答了16个问题 | 采纳率93.8%
@echo off
set ff=a.txt
set abc=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
echo 稍候...
(for /f "delims=" %%i in ('type "%ff%"')do (
set h=%%i
for %%a in (%abc% .!')do set r=%%a&call :y
call set h=%%h:,=%%
call set h=%%h::=%%
call set h=%%h:"=%%
call echo.%%h%%))>temp.txt
move temp.txt "%ff%"
start "" "%ff%"
exit
:y
call set h=%%h:%r%=%%
批处理提取括号内的内容保存到新的txt中
批处理提取括号内的内容保存到新的txt中
txt内容如下:【下面是个例子,我随便找的】
Starting {a brand new|a fresh|a whole new|a different} book {is really a|can be a|is often a|is usually a} risk, {much like|the same as|exactly like|similar to} falling in love. You have to {invest in|agree to|spend on|plan to} it.
我想做的就是将 { } 括号内的内容提取出来保存到新的txt中.每一个括号内的放在一行
保存到新的txt应该是
a brand new|a fresh|a whole new|a different
is really a|can be a|is often a|is usually a
much like|the same as|exactly like|similar to
类似这种类型.多谢了
bulls20081年前1
lhy519 共回答了20个问题 | 采纳率90%
@echo off
::下两行据实修改
cd/d "d:test"
set "fn=a.txt"
(for /f "delims=" %%j in ('findstr "{.*}" "%fn%"')do (
set "L=%%j"
setlocal enabledelayedexpansion
set "L=!L:{=y{!"
call :yky
endlocal
))>"new.txt"
pause&goto :eof
:yky
if "%L%"==""echo;>con&goto :eof
for /f "tokens=2,4,6,8,10* delims={}" %%a in ("!L!")do (
for %%i in ("%%a" "%%b" "%%c" "%%d" "%%e")do (
if not "%%~i"=="" (
set/p={%%~j}...>con
echo;%%~i)set "q=%%~f"
))
set L=!q!&goto :yky
请教一个FOXPRO问题,1001中的exp值要替换成“本身的值再加上1002中exp的值”,批处理时看不到1002中e
请教一个FOXPRO问题,1001中的exp值要替换成“本身的值再加上1002中exp的值”,批处理时看不到1002中exp中的值,如下列,用什么命令解决这个问题,
regionx05exp
1001x05328
1002x0526
旷野鹤1年前1
雪天的zz宫 共回答了14个问题 | 采纳率92.9%
locate for region=1002
exp_ls=exp
locate for region=1001
repl exp with exp_ls
批处理的for语句中,怎么样的写法能够表示变量%%i所代表的文件名?
批处理的for语句中,怎么样的写法能够表示变量%%i所代表的文件名?
我这里有一个for语句,:FOR /F %%i IN ('.') DO()
这里的%%i代表一个文件名(有路径),如:D:12423456abcpic.c
我怎么写能得到这个文件名?就是pic.c
想用扩展的那种写法.XXX什么来着?
jingjicao1121年前1
hjzy101 共回答了16个问题 | 采纳率100%
FOR /F %%i IN ('.') DO echo,%%~nxi
批处理为文件名加前缀! 我有一个主文件夹,其下包含很多子文件夹,每个子文件夹下又包含许多不同类型
批处理为文件名加前缀! 我有一个主文件夹,其下包含很多子文件夹,每个子文件夹下又包含许多不同类型
::══代══码══开══始═══
@echo off
for /f "delims=" %%i in ('dir /a-d/b/s *.*') do (
if not "%%i"==%0 ren "%%i" "C-%%~nxi")
echo 命名完毕
pause
::══代══码══结══束═══
这是答案,
但是在哪里使用这些代码呢?
chyl1001年前1
gf85942476 共回答了21个问题 | 采纳率90.5%
放在你的主文件夹下即可.
if not "%%i"==%0 说明不处理这个批处理.