for 续7

----------siwuxie095

  

  

  

  

for 中的变量:

  

FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:

~I - 删除任何引号(") ,扩充 %I

%~fI - 将 %I 扩充到一个完全合格的路径名

%~dI - 仅将 %I 扩充到一个驱动器号

%~pI - 仅将 %I 扩充到一个路径

%~nI- 仅将 %I 扩充到一个文件名

%~xI- 仅将 %I 扩充到一个文件扩展名

%~sI - 扩充的路径只含有短名

%~aI - 将 %I 扩充到文件的文件属性

%~tI - 将 %I 扩充到文件的日期/时间

%~zI - 将 %I 扩充到文件的大小

%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充

到找到的第一个完全合格的名称。如果环境变量名未被定义,

或者没有找到文件,此组合键会扩充到空字符串

  

  

  

可以组合修饰符来得到多重结果:

%~dpI - 仅将 %I 扩充到一个驱动器号和路径

%~nxI - 仅将 %I 扩充到一个文件名和扩展名

%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名

%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I

充到找到的第一个驱动器号和路径

%~ftzaI - 将 %I 扩充到类似输出线路的 DIR

  

在以上例子中,%IPATH 可用其他有效数值代替。%~ 语法用

一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名比较易

读,而且避免与不分大小写的组合键混淆

  

 

说明:

上面就是 for 帮助里关于变量的中的内容。上面每行后面都有一个大写

字母 I,这个 I 其实就是在 for 代入的变量。for 语句代入的变量名是什么,

这里就写什么,不能仅仅局限于一个字母 I ,不过,前后字母的大小

写一定要一致

  

如:

for /f %%t in ('set') do @echo %%t 

这里我们要代入的变量名是 t,就是帮助里的那个 I 改成了 t

  

再如:

for /f %%d in ('set') do @echo %%~dd

类似 dd 这样重复写两个变量字符的例子是可以的,但不建议这么写

  

但不能这么写:

for /f %%t in ('set') do @echo %%T

前后两个 T 变量大小写不一致,计算机认为是不同的两个变量

  

至于 I 前面的,如 "%~fl" 中的 "%~f",是有固定含义的语法,

字母不能随便改,但大小写无所谓,如:%~fi%~Fi 是一样

  

注意:% 符号,在批处理文本里要使用两个,但在 CMD 窗口直接

输入执行,只要一个即可

  

  

以下测试,均以F盘根目录下文件和文件夹:

  

 

 

  

下面对每个变量逐个探究:

  

~I

对操作内容删除双引号后扩充到%I

  

注意:单引号不会被删除

  

如:

@echo off

set var=">>"

for%%i in (%var%)doecho%%~i

pause

  

运行一览:

  

  

  

再如:

@echo off

for%%i in (a,"b c",d) doecho%%~i

pause

  

运行一览:

  

  

  

再如:文本temp.txt 的内容:

  

  

也可以通过批处理创建temp.txt:

@echo off

rem 注意不成对的引号要加转义字符 ^

rem 重向符号 >> 前不要留空格

rem 第一个 ^"1111 后只加一个 > 也可以全部显示

rem 最好全部写成 >>

rem 后面的如果只加一个 > 就会被截断,只显示当前行及以后行

rem 一个 > 会覆盖,两个 >> 才是追加

echo ^"1111>>temp.txt

echo "2222">>temp.txt

echo 3333^">>temp.txt

echo"4444"44>>temp.txt

echo ^"55"55"55>>temp.txt

  

sublime中:

  

  

同目录批处理:

@echo off

for /f "delims="%%i in (temp.txt) doecho%%~i

pause

del temp.txt

  

运行一览:

  

  

  

可见删除规则:

1、若字符串首尾同时存在引号,则删除首尾引号

2、若字符串尾不存在引号,则删除字符串首的引号

3、如果字符串中间存在引号,或者只在尾部存在引号,则不删除

  

总结:无头不删,有头连尾删

  

  

再如:

@echo off

for /f "delims="%%i in ('dir /b') doecho%%~i

pause

  

运行一览:将当前目录下的所有文件以及文件夹的名字

显示出来。Windows 规定,文件名称不能含有双引号,

所以这个代码看不出%%~i 有什么效果

  

  

  

  

-----------------------------------------------------------------

%~fI

%I 扩充到完整路径

  

如:

@echo off

for /f %%i in ('dir /b') doecho%%~fi

pause

  

运行一览:

  

  

对比:

@echo off

for /f %%i in ('dir /b') doecho%%i

pause

  

运行一览:

  

  

通过对比,后者没有路径,也即 "将 %I 扩展到一个完全合

格的路径名"。即如果%%i 变量的内容是一个文件名,就会

把这个文件所在的绝对路径显示出来,而不只显示一个文件

  

注意'dir /b' 的作用,对比:

@echo off

for /f "delims="%%i in ('dir') doecho%%~fi

pause

  

运行一览:程序不仅会显示文件的完整路径,还会显示

日期和大小等信息

  

  

  

-----------------------------------------------------------------

%~dI

仅将 %I 扩充到一个驱动器号

  

如:

@echo off

for /f %%i in ('dir /b') doecho%%~di

pause

  

运行一览:

  

  

  

显然,%%~di 的作用是:如果变量 %%i 的内容是一个文件或

者目录名,就会把这个文件或者目录所在盘显示出来

  

-----------------------------------------------------------------

%~pI

仅将 %I 扩充到一个路径

  

如:

@echo off

for /f %%i in ('dir /b') doecho%%~pi

pause

  

运行一览:说明%~pI 只显示路径,不显示盘符和文件名

  

  

-----------------------------------------------------------------

%~nI

仅将 %I 扩充到一个文件名

  

如:

@echo off

for /f "delims=="%%i in ('dir /b') doecho%%~ni

pause

  

运行一览:说明 %~nI 仅显示文件的主文件名,连扩展名都不显示

  

  

-----------------------------------------------------------------

%~xI

仅将 %I 扩充到一个文件扩展名

  

如:

@echo off

for /f "delims=="%%i in ('dir /b') doecho%%~xi

pause

  

运行一览:

  

  

-----------------------------------------------------------------

%~sI

扩充的路径只含有短名

  

如:

@echo off

for /f "delims=="%%i in ('dir /b') doecho%%~si

pause

  

运行一览:

  

  

这里运用了 DOS 的显示规则,当文件名超过 8 个字符时,

采用"ABCDEF~1" 短名形式显示出来,即显示出原来名字

前六个字符,然后是字符~,再加上一个数字,共计还是

8 个字符。数字是为了区分前六个字符完全相同的文件名

  

如:

有两个文件的名字为Abcdefghijk.txtAbcdefgh.txt

缩减后显示为 ABCDEF~1.TXTABCDEF~2.TXT,缩减

后的名字,连同扩展名都会采用全部大写的形式

  

一个中文文字占用两个字符大小,如果是新建文本文档.txt

则缩减后的名字为新建文~1.TXT

  

文件的名字比较短的,即未缩减的,还显示全名,

文件名包括扩展名的大小写不变

  

-----------------------------------------------------------------

%~aI

%I 扩充到文件的文件属性

  

如:

@echo off

for /f "delims=="%%i in ('dir /b') doecho%%~ai

pause

  

运行一览:

  

  

  

下面列举一些可能出现的属性:

---------

d--------

dr-------

--a------

-ra------

d-a------

  

表示什么意思?网上所查若干:

R 只读文件属性。

A 存档文件属性。

S 系统文件属性。

H 隐藏文件属性。

I 无内容索引文件属性。

  

解释:

假如一个文件的属性是隐藏的,用上面的代码不会显示出

H 属性,是因为根本没搜索到这个文件

  

假如一个文件的属性是存档,

则会显示--a------

  

假如是一个文件夹,

则会显示 d--------

  

假如一个文件的属性是存档并且只读,

则会显示-ra------

  

假如一个文件夹的属性是存档并且只读,

则会显示 dr-------

  

假如不是文件夹的文件,所有属性都不是,

则会显示---------

  

-----------------------------------------------------------------

%~tI

%I 扩充到文件的日期/时间

  

如:显示文件建立的日期和时间

@echo off

for /f "delims=="%%i in ('dir /b') doecho%%~ti

pause

  

运行一览:

  

  

-----------------------------------------------------------------

%~zI

%I 扩充到文件的大小

大小的默认单位是字节(B

  

如:

@echo off

for /f "delims="%%i in ('dir /b') doecho%%~zi

pause

  

运行一览:

  

  

-----------------------------------------------------------------

%~$PATH:I

查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个

完全合格的名称。如果环境变量名未被定义,或者没有找到文

件 ,此组合键会扩充到空字符串

  

如:

@echo off

for /f "delims="%%i in ("notepad.exe") doecho%%~$path:i

pause

  

运行一览:

  

  

程序说明:

%path%变量里指定的路径里搜索 notepad.exe文件,

并显示第一个合格的路径,没有就显示出一个错误

  

  

%path%的路径查看方法:

@echo off

echo%path%

pause

  

  

再如:

@echo off

for%%a in (notepad.exe calc.exe explorer.exe) doecho查找%%a的第一个结果是:%%~$PATH:apause

pause

  

运行一览:程序会将目标文件逐一搜索并显示

  

  

  

  

进一步分析:

%~$path:i 可以将其分解为%i %path%

%IPATH 可用其他有效数值代替

  

如:

@echo off

rem 本人电脑上QQ的路径

set a=D:\腾讯QQ\QQ\Bin

for /f "delims="%%i in ("qq.exe") doecho%%~$a:i

pause

  

运行一览:

  

  

  

这个,似乎没什么用,因为要指定精确的路径,

不能搜索目录树,好像失去了搜索的意义

  

  

  

【made by siwuxie095】

  

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Xftp7是一款适合学校使用的FTP客户端软件。其功能强大,支持多种协议和安全认证方式。它可以从本地计算机上传和下载文件到远程服务器,也可以在不同的远程服务器之间传输文件。此外,Xftp7还具备自动同步功能,可以自动检测并同步源文件与目标文件之间的更改。这对于学校的文件管理和备份非常方便。 Xftp7具有用户友好的界面,易于操作,支持多语言界面,学生和老师均可以轻松使用。可以制定服务器列表和用户管理,方便学校内部的管理和使用。并且Xftp7可以自定义键盘快捷键、在传输过程中自动断开连接避免网络中断等功能,让用户的使用更加便捷和高效。 总之,作为一款专为学校设计的FTP客户端软件,Xftp7不但功能强大,且界面简洁优美,易于操作。它满足学校文件传输、管理、备份等多种需求,提高学校的工作效率,为教学和科研提供必要的支持。 ### 回答2: XFTP7是一种功能强大的FTP客户端软件,主要用于远程文件传输和管理。它通常被用于学校教育领域,帮助学生和教师在不同计算机之间进行文件传输和管理。 XFTP7具有简单易用的用户界面和丰富的功能集合,包括FTP、SFTP、SCP和FTP over SSL等协议,支持断点传、多文件传输和自动更新等功能。此外,XFTP7还提供了多种安全和加密功能,以确保传输的文件是安全的。 在学校教育领域,XFTP7经常被用来在学生和老师之间共享文档、作业和项目文件,以及安全地传输敏感信息。它也可以帮助学生将个人作品上传到学校的学术中心或在线数据库中,与其他学生分享和交流。 总之,XFTP7是一款可靠和有效的文件传输和管理软件,可以在学校教育领域发挥重要作用,帮助学生和教师更好地协作和共享文件。 ### 回答3: Xftp7是一款针对学校使用的FTP服务器工具。它可以让学校的教师和学生方便地进行文件传输和共享,同时提高整个学校网络数据传输的效率。 对于教师而言,Xftp7为他们提供了更好的管理和组织共享文件的方式,可以通过FTP服务器将课件和教案等分享给学生和同事。此外,Xftp7还可以加强文件的安全性,让教育工作者不必担心文件丢失或泄漏。 对于学生而言,Xftp7可以让他们轻松地从FTP服务器上下载教材、作业、测试或课堂演示,这些教育资源都能随时随地获取。这样,学生可以更好地学习和掌握知识,也可以提高自己的学习效率和成绩。 总的来说,Xftp7是一款非常实用、高效和安全的FTP服务器工具,对于学校师生来说,可以带来很多便利和帮助。它不仅可以提高学校网络数据传输的速度和效率,还可以充分利用学校资源,提高教育教学水平和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值