找回密码
 加入
搜索
查看: 1897|回复: 5

[AU3基础] 请教各位高人一个问题??我有几个BAT要转成AU3,用了BatToAU3ToRun有一个没成功

  [复制链接]
发表于 2012-3-11 13:39:37 | 显示全部楼层 |阅读模式
本帖最后由 xdafeng 于 2012-3-11 14:52 编辑

请教各位高人一个问题??我有几个BAT要转成AU3,用了BatToAU3ToRun有一个没成功,哪位高人帮转一下??
删除小的TXT文件,bat:
@echo off
for %%a in (*.txt) do (
    if %%~za lss 500 del /a /f "%%a"
)

用BatToAU3ToRun转成au3:
Run(@ComSpec & ' /c ' & '@echo off', '', @SW_HIDE)
Run(@ComSpec & ' /c ' & 'for %a in (*.txt) do (', '', @SW_HIDE)
Run(@ComSpec & ' /c ' & '    if %~za lss 500 del /a /f "%a"', '', @SW_HIDE)
Run(@ComSpec & ' /c ' & ')', '', @SW_HIDE)
没有好使

就是删除文件夹内过小的文本文件,au3刚学不会用,才用的批处理来实现的!!
发表于 2012-3-11 14:13:32 | 显示全部楼层
本帖最后由 Ycxw2008 于 2012-3-11 14:22 编辑

哪有你那样的用的 你这样就等于  运行里  
cmd /c echo off  
cmd /c for %%a in (*.txt) do (  
cmd /c     if %%~za lss 500 del /a /f "%%a"
cmd /c )
你可以试试 直接 WIN+R 看看是什么效果:)

你可以改成 Run(@ComSpec & ' /k  dir * >a.txt&dir * >b.tx');不要加@SW_HIDE测试


for do 没用过
要不你说说你需要什么功能吧   是某txt包含什么字符串的话 就删除他吗?
那样的话 直接au3 就可以  
想要的话说下你需要什么样的功能 帮你写一段也行
 楼主| 发表于 2012-3-11 14:51:02 | 显示全部楼层
本帖最后由 xdafeng 于 2012-3-11 14:52 编辑

就是删除文件夹内过小的文本文件,au3刚学不会用,才用的批处理来实现的!!
发表于 2012-3-11 15:32:14 | 显示全部楼层
回复 1# xdafeng

BatToAU3ToRun不支持这样批处理代码.

$Dir = @TempDir; 临时文件夹

#include <File.au3>

$FileList = _FileListToArray($Dir, '*.txt');列表指定路径的txt文件
If @error = 4 Then
        MsgBox(0, "", "没有找到的文件.")
        Exit
EndIf

For $i = 1 To UBound($FileList) - 1
        ; 删除小于500字节的txt文件
        If FileGetSize($Dir & '\' & $FileList[$i]) < 500 Then FileDelete($Dir & '\' & $FileList[$i])
Next

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2012-3-11 16:41:30 | 显示全部楼层
Run('"' & @ComSpec & '" /c  for %a in (*.txt) do (if %~za lss 500 del /a /f "%a")', '', @SW_HIDE)

这样也可以 :)

评分

参与人数 2金钱 +25 收起 理由
lixiaolong + 10
afan + 15

查看全部评分

 楼主| 发表于 2012-3-11 19:45:06 | 显示全部楼层
谢谢,学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-9 20:28 , Processed in 0.083444 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表