1樓:網友
錯誤原因:1.像一樓說得:
要開啟延遲變數,如果用在if()或&&(或do()等等這些括號裡面的變數都屬於延遲變數,如果再次在括號裡面呼叫,是沒有值的,所以顯示不了,只有在()括號外部呼叫才會正常顯示。
setlocal enabledelayedexpansion語句讀取檔案內容要用 /f格式!否則只是顯示「c:\而無法辨認是檔名還是字串。
for /f %%i in (c:\ do (3.我看出來你上面的**有點小錯誤,就是for語句裡面的左括號和冒號都是在中文輸入法時輸入的,一定要在英文輸入法裡輸入括號還有冒號。
否則就會不識別。
你試試我的**,我測試過了:
echo off
setlocal enabledelayedexpansionfor /f %%i in (c:\ do (set ad=%%i
echo !ad!
pause
2樓:軒轅黃弟
對檔案進行解析需要用 /f 格式的。可以簡單的測試一下:
for /f "delims=\"i in (c:\ do (echo %%i)
如果文字的內容為f:\123\234,結果為f:。
需要幫助,可以輸入for /?查詢。
執行bat出錯!提示很奇怪
3樓:匿名使用者
ipconfig
pause你測試一下,這樣可以嗎?
可能是你bat檔案的錯。
要不改成另乙個樓上的。
bat程式設計問題
4樓:公子七哥
1、%1 %2 %3 對應的就是接受到的引數,但不一定是批處理接收的引數,也有可能是內部標籤接收的引數,具體要看**。
比如,如下就是內部標籤接收的引數。
echo off
call :sub 1 2 3
goto :eof
subecho %1 %2 %3
exit /b
2、不知道你的bat的執行方式,就是說不知道是將檔案拖放到bat的圖示上,還是拖放到視窗中執行,這兩種是不一樣的。如果是拖放到圖示上,通過命令列執行的話就可以直接用:
d:\" "d:\file1" "d:\file2" "d:\file3"
檔案路徑用相對路徑或全路徑,檔名前後加英文半形引號,之間用空格分開即可。
5樓:網友
給你個直觀的吧。
你隨便拖1-9個檔案到下面批處理上。應該就能發現了。
echo off
for /l %%a in (1,1,9) do call echo.%%a
pause>nul
exit
無法開啟 bat檔案,bat檔案無法執行
無法開啟.bat檔案是因為檔案關聯出問題了。解決方法 雙擊開啟 我的電腦 工具 資料夾選項 檔案型別 新建 高階 副檔名處填入bat,關聯檔案型別處選擇ms dos 批處理檔案 確定。試試這個簡單方法。安全模式下開機,開始 所有程式 附件 系統工具 系統還原,選擇最近好的時間點試試。如果不給恢復,系...
bat病毒鎖機,求助,求一段bat鎖機程式碼或者一些無法關閉的病毒
taskkill im exporler.exetaskkill im exporler.exetaskkill im exporler.exe把他放在開始選單的 啟動 裡 一開機桌面就沒了 樓上那個是剽竊我的智力成果 bat病毒鎖機 我的電腦被bat病毒鎖了 bat沒那麼強大,也不會有人真用bat...
問一下BAT中只寫了0執行後會怎麼樣
0 在批處理中代表批處理自己 如果直接輸入 0 就是 執行 自己 比如 你這個批處理 取名 1.bat 直接輸入 0 表示 執行 1.bat 這個批處理 意識就是把自己再執行一遍 當你 雙擊執行這個批處理 這個批處理就會 無限的執行下去 限入一個死迴圈 而 符號 代表 如果 符號 之前的命令沒有執行...