我想要的是把批處理把這行語句執(zhí)行完后,
在C盤創(chuàng)建一個"123.bat",
里面的內(nèi)容為:"set hour=%time:~1,1%",
把下面這行命令在CMD中運(yùn)行后能成功,C盤能生成一個"123.bat"并且里面的內(nèi)容也是"set hour=%time:~1,1%",(第二個百分號前加了一個轉(zhuǎn)義字符,不然重定向出來就不是"%time:~1,1”)
echo set hour=%time:~1,1^% >c:\123.bat
問題來了,只要把這行命令放到批處理中,那重定向符號仿佛沒起到作用,
屏幕上會顯示:set hour=time:~1,1\123.bat
請大家?guī)兔匆豢?nbsp; 希望知道解決方法的人賜教一下 非常感謝!
- @echo off
- echo set hour=%time:~1,1^% >c:\123.bat
- pause
復(fù)制代碼
作者: broly
時間: 2010-12-25 12:52
- @echo off
- >c:\123.bat echo set hour=^%time:~1,1^%
- pause
復(fù)制代碼
作者: cc5511
時間: 2010-12-25 12:59
標(biāo)題: 非常感謝
真是高手哇!
請問像我那樣為什么不會成功???是錯在哪里了?
作者: broly
時間: 2010-12-25 13:02
標(biāo)題: 回復(fù) 3樓 的帖子
> 這個符號,用echo 現(xiàn)實(shí),如果前面數(shù)字是1 2 等,就會出錯
如
改為
就不會
作者: cc5511
時間: 2010-12-25 13:40
標(biāo)題: 暈了 我的問題又來了 又有新問題了
想要在文本里寫入“if %hour% leq 6”,最后“%hour%”顯示不出來
顯示:if leq 6 而不顯示:if %hour% leq 6
這樣不行:
- @echo off
- >123.txt echo if %hour% leq 6
- start 123.txt
復(fù)制代碼這樣也不行:
-
- @echo off
- echo if %hour% leq 6 >123.txt
- start 123.txt
復(fù)制代碼請賜教??!感謝你!
作者: broly
時間: 2010-12-25 14:24
在所有%前面添加轉(zhuǎn)義符^
作者: Batcher
時間: 2010-12-25 15:56
標(biāo)題: 回復(fù) 5樓 的帖子
- @echo off
- >123.txt echo if %%hour%% leq 6
- start 123.txt
復(fù)制代碼
作者: cc5511
時間: 2010-12-25 16:46
標(biāo)題: 非常感謝!
問題全部解決了!感謝!
作者: hanyeguxing
時間: 2010-12-25 17:22
如果要將批處理內(nèi)容輸出到文件,而且內(nèi)容很多,推薦使用for /f:
- @echo off
- (for /f "delims=" %%a in ('more +3^<"%~f0"') do echo.%%a)>c:\123.bat
- pause&exit
- @echo off&setlocal ENABLEDELAYEDEXPANSION
- rem 測試用
- set a=1&set b=%time:~0,1%
- echo %b%|find /i "123"
- set/a a=!a!+1
- echo %a%
- pause
復(fù)制代碼ps:在主代碼部分開變量延遲時,需要對輸出內(nèi)容中的!做轉(zhuǎn)義^
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。