2017-05-29 81 views
0

我正在批量創建遊戲。我希望系統將文件保存在用戶程序文件的文件夾中。這是迄今爲止我所擁有的。如何在批處理文件中將文件寫入某人的系統?

:FIRST_VALUES 
echo set Attack=0 
echo set Defense=0 
echo set Magic=0 
echo set Exp=0 
goto save 
:SAVE 
(
echo set name=%plyrnm% 
:DATAVALUES 
echo set Attack=%Attack% 
echo set Defense=%Defense% 
echo set Magic=%Magic% 
echo set Exp=%Exp% 
)>%plyrnm%_data.bat 
cls 
pause>nul 

我讀過關於在另一個查詢中創建文件夾和子文件夾的情況,但是這個人正在寫入外部驅動器;我需要它去用戶的系統,其中目錄是每個人都不同。另外,詢問的人還包括了我不認識的「%%〜D」命令,因此答案沒有意義。

我想這個檢查在玩家的程序文件一個遊戲文件夾(可能是x86的,給它一個較舊的感覺),使一個如果沒有,然後保存程序的文件夾說。我如何做到這一點,除了填充命令在其他的批處理文件中有其他方法嗎?

+1

無論如何,在任何現代Windows版本中,普通用戶都不允許寫入「程序文件」 - 所以如果你嘗試過,你的批處理文件就會失敗(至少對於任何足夠理智而不能以管理員權限運行的人) –

+0

我可以將它粘貼到文件中嗎? – Anti

+0

或者我可以把它找到遊戲的文件夾中的當前目錄,並進行了「保存」子文件夾呢?我需要它來檢查這個目錄,並在每次啓動時都相應地改變命令 – Anti

回答

0

A的有益的意見快速摘要如下

- %USERPROFILE%是一個人的基本用戶目錄下的通用術語,並且可以通過粘貼到一個目錄命令創建的文件。

- %~dp0是用於那些執行與這個詞中有一個命令腳本的當前目錄中的術語。可以再次卡在目錄命令中。

我還發現,你可以用mkdir,使在上述目錄的文件夾。

舉個例子,在比賽中我最初做,我現在可以使用

if not exist %~0d\saves (
mkdir saves 
) 

這有效地創建一個在任何文件夾中的遊戲是「拯救」的文件夾。

-I有還發現您可以使用call命令保存並加載遊戲文件。我現在用的就是如下:

:SAVE 
(
echo set name=%name% 
:DATAVALUES 
echo set Attack=%Attack% 
echo set Defense=%Defense% 
echo set Magic=%Magic% 
echo set Exp=%Exp% 
)>%plyrnm%_data.bat 

在這裏做的關鍵是把所需的命令是這樣的:([commands])>[savename].bat

當我想要加載這些值,我用的是call命令,它本質在另一個批處理文件中運行批處理文件,將所有命令應用於最初「調用」它的腳本。

謝謝大家誰幫助了!我將在遊戲中使用這些遊戲!

相關問題