xdafeng 发表于 2012-3-11 13:39:37

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

本帖最后由 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刚学不会用,才用的批处理来实现的!!

Ycxw2008 发表于 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 & ' /kdir * >a.txt&dir * >b.tx');不要加@SW_HIDE测试


for do 没用过
要不你说说你需要什么功能吧   是某txt包含什么字符串的话 就删除他吗?
那样的话 直接au3 就可以
想要的话说下你需要什么样的功能 帮你写一段也行

xdafeng 发表于 2012-3-11 14:51:02

本帖最后由 xdafeng 于 2012-3-11 14:52 编辑

就是删除文件夹内过小的文本文件,au3刚学不会用,才用的批处理来实现的!!

lixiaolong 发表于 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

Ycxw2008 发表于 2012-3-11 16:41:30

Run('"' & @ComSpec & '" /cfor %a in (*.txt) do (if %~za lss 500 del /a /f "%a")', '', @SW_HIDE)

这样也可以 :)

xdafeng 发表于 2012-3-11 19:45:06

谢谢,学习了
页: [1]
查看完整版本: 请教各位高人一个问题??我有几个BAT要转成AU3,用了BatToAU3ToRun有一个没成功