Board logo

标题: [文件操作] 如何讓 set Filter="\\[0-9].*\\[變量]*$"生效 [打印本页]

作者: Nano    时间: 2010-1-18 16:49     标题: 如何讓 set Filter="\\[0-9].*\\[變量]*$"生效

  1. @echo off
  2. for %%s in (cache temp tmp) do (
  3.     set strOldDir=%cd%
  4.     set Filter="%cd:\=\\%\\[0-9].*\\[%%s]*$"
  5.     set FileExtension=*Browsing*. *.rm *.TMP
  6.     set "cmd1=dir /ad /s /b ^| findstr /rc:"
  7.     set "cmd2=cd "%%i" && echo %%i && dir /b")
  8.     for /f "delims=" %%i in ('%cmd1%%Filter%') do %cmd2% %FileExtension%
  9.     cd %strOldDir%
  10. pause
复制代码
請教:刪除這一句for %%s in (cache temp tmp) do 刪除第一個DO後的一對括號    set Filter="%cd:\=\\%\\[0-9].*\\[這裡不用變量代嗎運行正常]*$"
如何讓 set Filter="%cd:\=\\%\\[0-9].*\\[變量]*$"生效。。每次賦值變量為cache, temp, tmp,等等
多個值另輸入指定。。

[ 本帖最后由 Nano 于 2010-1-18 21:26 编辑 ]
作者: Batcher    时间: 2010-1-18 17:56

你贴的代码完全乱了,能否重新贴一遍?
作者: batman    时间: 2010-1-18 20:17

这就是个变量延迟的问题:
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (cache temp tmp) do (
  3.     set "filter=\\[0-9].*\\%%a*$"
  4.     echo !filter!
  5. )
  6. pause>nul
复制代码

作者: Nano    时间: 2010-1-18 22:04

原帖由 batman 于 2010-1-18 20:17 发表
这就是个变量延迟的问题:@echo off&setlocal enabledelayedexpansion
for %%a in (cache temp tmp) do (
    set "filter=\\[0-9].*\\%%a*$"
    echo !filter!
)
pause>nul
  1. @echo off
  2.     set strOldDir=%cd%
  3.     set Filter="%cd:\=\\%\\[0-9].*\\[tmp].*$"
  4.     set FileExtension=*.tmp *.
  5.     set "cmd1=dir /ad /s /b ^| findstr /ric:"
  6.     set "cmd2=cd "%%i" && echo %%i && dir /b"
  7.     for /f "delims=" %%i in ('%cmd1%%Filter%') do %cmd2% %FileExtension%
  8.     cd %strOldDir%
  9. pause
复制代码
------------------------------------------------------------------------------------------------------------------------------
D:\CloudCache\12324\12324  56 78\TEMP
D:\CloudCache\12324\12324  56 78\TMP
New Text Document.tMP
Press any key to continue . . .
這是回顯
----------------------------------------------------------------------------------------------------------------------------------
現在想將set Filter="%cd:\=\\%\\[0-9].*\\[tmp].*$"中的TMP換成變量。。
樓上那樣窗口一閃就沒了

[ 本帖最后由 Nano 于 2010-1-18 22:06 编辑 ]
作者: batman    时间: 2010-1-18 22:06     标题: 回复 4楼 的帖子

我测试自己的代码是正常的,不知你是怎么测试的?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2