我想插入一個文本文件的內容爲cmd
控制檯,通過使用:插入命令到啓動CMD
start cmd.exe < c:\text.txt
我也試過:
start cmd.exe | c:\text.txt
然而,這兩個打開cmd
外殼,但沒有任何東西能通過。
我的觀點是最後我有一個調度程序jenkins,當我用start
命令打開它時,我將控制檯內文本文件的內容傳遞給控制檯。所以我不是簡單地試圖打印到cmd
控制檯;對於不同的情況,我只能使用echo
。
我想插入一個文本文件的內容爲cmd
控制檯,通過使用:插入命令到啓動CMD
start cmd.exe < c:\text.txt
我也試過:
start cmd.exe | c:\text.txt
然而,這兩個打開cmd
外殼,但沒有任何東西能通過。
我的觀點是最後我有一個調度程序jenkins,當我用start
命令打開它時,我將控制檯內文本文件的內容傳遞給控制檯。所以我不是簡單地試圖打印到cmd
控制檯;對於不同的情況,我只能使用echo
。
這樣的事情?
通過Cmd.exe本身,
type C:\Text.txt
如果它是一個批處理文件,然後
type C:\Text.txt
pause
,或者只看到內容,使用更
more C:\Text.txt
如果您想要從文件中實際運行命令,而不是嘗試從文本文件中將命令插入到cmd控制檯中,則應該遵守將其構建爲可執行文件的批處理文件。您可以通過文件重命名要麼.bat
或.cmd
做到這一點
然後插入你的命令到文件中,或者通過雙擊文件或從調度等。這裏運行它是一個批處理或CMD的例子執行它文件:
echo Please wait while I execute.
tp merge $/ServerFolderA $/ServerFolderB
所以只是你的初始命令的一些解釋。當你跑時:
start cmd.exe | c:\text.txt
你實際上告訴系統從單個命令運行多個可執行文件。管道命令就像分隔符一樣來指定每個命令。所以這樣的:
ping 127.0.0.1 | nslookup www.google.com | cmd.exe | c:\text.txt
實際上將盡一切序列這些命令,首先它會平,做NSLOOKUP,開放的cmd.exe然後打開C:\的text.txt
在這裏,你是在正確的軌道,但我的猜測是你在文件中有一行,而不是一個新行。
start cmd.exe < Text.txt
將使用TEXT.TXT文件作爲應答文件,所以如果我編輯和插入以下內容:
echo This is an answer file
ping 127.0.0.1
ping 10.132.4.99
echo Completed all commands
,然後運行start cmd.exe < Text.txt
將順序執行的一切。這裏的區別是它逐行讀取文件並顯示它運行的每個命令。所以你的輸出就會是這樣的:
C:\>echo this is an answer file
this is an answer file
ping 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
ping 10.132.4.99
Pinging 10.132.4.99 with 32 bytes of data:
Reply from 10.132.4.99: bytes=32 time=3ms TTL=254
Ping statistics for 10.132.4.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 8ms, Average = 4ms
正如你可以看到這個完美的作品,但它顯示你正在運行,除了每個命令,它不運行的最後一個命令,它是echo Completed all commands
。所以要運行所有命令,你必須在最後一個命令後添加一行。但是,如果將其重命名爲.cmd
,它將僅運行這些命令而不顯示要運行的命令並運行每行直到結束。另一個問題的答案文件是它讀取一行行,所以有3條新線,在應答文件中沒有文字會導致這樣的事情
C:\>
C:\>
C:\>
因此,有眼前這個應答文件:
ping 127.0.0.1
將不起作用,因爲它是沒有輸入部分的單行。
但通過添加一個新行後,它將使其工作。
我希望所有這些都有道理。
謝謝,但我不確定..它閃爍的控制檯,然後它消失了,沒有時間去真正看到裏面是否有任何東西.. – uniXVanXcel
你是否在一個批處理文件中這樣做?如果是,則在批處理文件末尾鍵入暫停。我將修改答案。 –
你的文本文件的內容是什麼? –
下面的答案並不完全回答這個問題,但下面的對話有一個很好的hackish,但優雅的解決方案,迴應這個問題! – uniXVanXcel