導航:首頁 > 文件類型 > bat變數文件名

bat變數文件名

發布時間:2025-10-03 12:04:25

⑴ 怎麼用bat讀取文件名為變數

題設還是沒說清楚,小估你的ID.txt裡面只有一行對吧?這里就算它是多行,我也假設你只讀第一行內容到變數中,變數名字我用var表示,那麼實際上就這樣簡單:

set /p "var="<ID.txt

後面就可以echo %var%看看內容了

⑵ bat怎麼取所在文件夾名字為變數

找到這個可以參考下。

@echo off
color 0e

echo ◎■◎■◎■◎■◎■◎
echo ■批量文件壓縮處理 ■
echo ◎■◎■◎■◎■◎■◎

if EXIST WinRAR的路徑臨時存儲.txt del WinRAR的路徑臨時存儲.txt

echo.
echo ■■■■■■■■■■■■■■■■■■■■■
echo ■使用說明: ■
echo ■將此批處理放入所需壓縮的文件夾的父目錄■
echo ■■■■■■■■■■■■■■■■■■■■■
echo.

echo ◎◎◎◎◎◎◎◎◎◎◎◎
echo ◎輸入Y(yes) 開始程序
echo ◎輸入E(exit)退出程序 ◎
echo ◎◎◎◎◎◎◎◎◎◎◎◎

set choose =
set /p choose=請選擇:
if '%choose%'=='y' goto 開始程序
if '%choose%'=='e' (goto :exit) else goto 開始程序

:開始程序
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" /v path>>WinRAR的路徑臨時
存儲.txt

:: 查詢注冊表中的winrar程序安裝路徑,並將找到的路徑發送到'WinRAR的路徑臨時存儲.txt'文件中去

for /f "tokens=1,2,* skip=4 delims= " %%x in ('more WinRAR的路徑臨時存儲.txt') do set WinRAR的路徑=%%z

:: *********************************************************
:: 【1】使用語句:FOR /F ["options"] %variable IN (file-set|"string"|'command') DO command [command-
parameters]
:: 【2】/F:查找字元串或則文件中的特定字元參數。使用後默認方式為查找每個文件(字元串)中的每一行中分開的
第一個空白符號。跳過空白行。
:: 【3】["options"]:您可通過指定可選 "options" 參數替代默認解析操作。這個帶引號的字元串包括一個或多個指定
不同解析選項的關鍵字。這些關鍵字為:
:: eol=c - 指一個行注釋字元的結尾(就一個)
:: skip=n - 指在文件開始時忽略的行數。
:: delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集。
:: tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身。這會導致額外變數名稱的分配m-n格式為
一個范圍。通過 nth 符號指定 mth。如果符號字元串中的最後一個字元星號,那麼額外的變數將在最後一個符號解析之
後分配並接受行的保留文本。
:: usebackq - 指定新語法已在下類情況中使用:在作為命令執行一個後引號的字元串並且一個單引號字元為文
字字元串命令並允許在filenameset中使用雙引號擴起文件名稱。
:: 【4】%variable:指定的參數,在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable 而不要用 %
variable。變數名稱是區分大小寫的,所以 %i 不同於 %I。
:: 【5】file-set|"string"|'command':指定的文件或字元串和目錄。
:: 【6】DO command [command-parameters]:1)command為指定對每個文件執行的命令。2)command-parameters為特
定命令指定參數或命令行開關。
:: 【7】整個語句的解析:在文件「in ('more WinRAR的路徑臨時存儲.txt')」中查找特定的字元串,1)先跳過前四行
(skip=4);2)以空格為分隔符(delims= );3)將找到的第一個字元傳遞給參數x("tokens=1,2,* skip=4 delims=
" %%z);4)找到一個字元後就開始運行do後面的命令。5)將參數l獲得的值賦予常量'WinRAR的路徑'中(do set
WinRAR的路徑=%%z),參數將按照查找的順序自動將找到的字元串賦予參數z之中,本例中按照順序「x\y\z」,故z獲得
tokens中的符號「*」中的字元串。
:: *********************************************************

if EXIST WinRAR的路徑臨時存儲.txt del WinRAR的路徑臨時存儲.txt

for /f "delims=" %%i in ('dir /ad /b') do call :開始壓縮 %%i

:: *********************************************************
:: 【1】dir /ad /b:1)/a為顯示所有文件。2)/ad則為跟寬式相同,但文件是按欄分類列出的。3)/b使用空格式(沒
有標題信息或摘要)。
:: 【2】call :開始壓縮 %%i:調用:'開始壓縮',並將獲得的字元串賦予參數i中。
:: *********************************************************

echo.
echo ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
echo ◎壓縮完成 ◎
echo ◎輸入R(Repetition) 重新運行 ◎
echo ◎輸入E(exit)退出程序 ◎
echo ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
echo.

set choose =
set /p choose=請選擇:
if '%choose%'=='r' goto 開始程序
if '%choose%'=='e' (goto :exit)

:exit
exit

:開始壓縮
set 網站文件夾=%*
"%WinRAR的路徑%\rar" a -r -msrar;zip;jpg;jpeg;gif;rm;rmvb;mp3;wave;wam;wmv;mpeg -ag %網站文件夾%.rar %網
站文件夾%

:: *********************************************************
:: [1]-r:連同子文件夾
:: [2]-ag:以當前日期與時間生成壓縮文件名
:: [3]-ms:指定不壓縮而直接存儲的文件類型。當正確使用時,它將有助於增加壓縮速度,而不會顯著的減小壓縮率。
:: *********************************************************

EndLocal

:: *********************************************************
:: [1]EndLocal:結束批處理文件中環境更改的本地化,將環境變數還原為匹配 setlocal 命令前的值。
:: *********************************************************

閱讀全文

與bat變數文件名相關的資料

熱點內容
24小時學通linux視頻教程 瀏覽:790
excel里的文字變成文件夾 瀏覽:21
編程貓如何保存游戲 瀏覽:441
javacase多個值 瀏覽:628
win7還有升級提示嗎 瀏覽:419
微信的大數據什麼意思 瀏覽:582
discuz搬家視頻教程 瀏覽:195
免費商城網站模板 瀏覽:881
佳能5d3相機怎樣更改文件名 瀏覽:480
中控dcs文件名 瀏覽:467
qq422安卓 瀏覽:622
文件路徑限制 瀏覽:983
文件怎麼防寫 瀏覽:211
0基礎怎麼學習c語言編程 瀏覽:277
java網路高級編程ppt 瀏覽:370
導入失敗錯誤代碼7 瀏覽:885
bat變數文件名 瀏覽:145
如何學好網路技術 瀏覽:441
小蟻智能攝像機wifi密碼錯誤 瀏覽:690
導入一百萬條數據怎麼做 瀏覽:619

友情鏈接