是Windowsbatch file的新手,并已经与这个脚本挣扎超过8个小时的几个实验..但没有运气…
这是我的代码
@echo off setlocal ENABLEDELAYEDEXPANSION FOR %%f IN (*.*) DO ( echo %%f echo %%~xf IF %%~xf==".xml" |= ".java" ( echo file needed ) ELSE( echo file not needed del %%f ) )
1)不能得到工作; “|现在意外”。 错误
为什么在命令行上使用'set var = text'后没有输出string'echo%var%'?
否则,如果batch file
任何人都可以告诉我在实现multithreading的时候batch file中“.lock”的用法是什么
从Windows批处理variables中获取子string
将进度条添加到PST复制batch file
3)我也尝试了以下内容:
@echo off setlocal ENABLEDELAYEDEXPANSION FOR %%f IN (*.*) DO ( set todel=yes echo %%~xf echo todel=%todel% IF %%~xf==".xml" ( todel=no ) IF %%~xf==".java" ( todel=no ) echo todel=%todel% IF %todel%=="yes" ( del %%f ) )
todel总是空的。 猜猜我不能这样设置循环内?
任何帮助表示赞赏。 谢谢!
在一个Windowsbatch file中,你可以链接执行一些不是另一个batch file的东西吗?
为C ++ Batch设置临时环境variables
将命令输出保存到variables
Windowsbatch file – 使用自定义文件名填充文件
batch file复制不起作用,告诉我找不到指定的文件
在这段代码中,可能有更好的方式来做你自己有效的工作,但是这里有一个基本的结构,可以帮助你更好地理解cmd.exe是如何做到这一点的。
@Echo Off For %%A In (*.*) Do ( If /I Not "%%~xA"==".xml" ( If /I Not "%%~xA"==".java" ( Echo %%~xA file not needed Echo Del %%A ) Else ( Echo .java file needed ) ) Else ( Echo .xml file needed ) ) Timeout -1
如果你真的想让脚本删除文件,而不是只显示你的删除命令,请将第6行的Echo Del %%A更改为Del %%A
另一个选择是使用DIR命令并将其传送给FINDSTR命令,以仅列出需要删除的文件。
FOR /F "DELims=" %%G IN (`dir /b /s *.* ^|findstr /E /V ".xml .java"`) DO del "%%G"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。