2017-10-06 67 views
-1

我是新來的批處理腳本,我正在嘗試新的東西。如何使用批處理腳本將內容添加到具有各種路徑的文本文件中?

我有一個文件sample.txt。它具有不同的路徑,如下所示:

C:\Users\admin\Desktop\Sample\New Text Document1.txt 
C:\Users\admin\Desktop\Sample\New Text Document2.txt 
C:\Users\admin\Desktop\Sample\New Text Document3.txt 
C:\Users\admin\Desktop\Sample\New Text Document4.txt 

我想在文件名之前在此路徑中添加文本。

我想要的文件看起來像這樣:

C:\Users\admin\Desktop\Sample\Backup Folder\New Text Document1.txt 
C:\Users\admin\Desktop\Sample\Backup Folder\New Text Document2.txt 
C:\Users\admin\Desktop\Sample\Backup Folder\New Text Document3.txt 
C:\Users\admin\Desktop\Sample\Backup Folder\New Text Document4.txt 
+1

您將使用'FOR'命令,並使用命令修飾符分裂除了文件路徑文件名。你可以通過打開cmd提示符並輸入:FOR /?'來閱讀它。閱讀關於修飾符的最後一節。 – Squashman

+0

我認爲它可能看起來像這樣 - FOR/F「delims = /」%% A IN(Sample.txt)Do(@echo +「BackUp Folder /」+ * .txt)但它需要更多 –

+1

否不要使用'DELIMS'選項。使用修飾符。 '%〜dpA'和'%〜nxA'。 delims選項應該是空的。 'FOR/F「DELIMS =」' – Squashman

回答

1

試試這個:

@echo off 


set "file=sample.txt" 
set "add_=Backup Folder\" 

break>temp 
for /f "usebackq tokens=* delims=" %%# in ("%file%") do (
    echo %%~dp#%add_%%%~nx# 
)>>temp 

move /y temp "%file%" 
+0

爲什麼混淆它們,那麼他們通過使用#作爲FOR你和我知道它可以完成,但是一個新的人可以閱讀命令的幫助,它的字面意思是變量的字母「 – Squashman

+0

@Squashman - 我習慣了它,有時我正在使用它機智hout在批處理腳本中考慮新手。 – npocmaka

相關問題