Pada mesin windows saya mendapatkan kesalahan ini
'touch' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan, atau file batch.
ketika saya mengikuti instruksi yang harus dilakukan:
touch index.html app.js style.css
Apakah ada jendela yang setara dengan menggunakan 'sentuh'? Apakah saya perlu membuat file-file ini dengan tangan (dan memodifikasinya untuk mengubah timestamp) untuk mengimplementasikan perintah semacam ini? Tampaknya tidak terlalu ... simpul-ish ...
touch
. Diskusi lain di sini: superuser.com/questions/10426/… dan pustaka Cygwin adalah toolset umum dari perintah Unix pada Windows.touch
untuk membuat file kosong dengan PowerShell?Jawaban:
dalam tipe jendela cmd:
Ini akan membuat 0 byte di file your_file.txt.
Cara lain untuk melakukannya adalah dengan menggunakan perintah echo :
gema. - akan membuat file dengan satu baris kosong di dalamnya.
Diedit pada 2019-04-01:
Jika Anda perlu mempertahankan konten file gunakan >> bukan>
Contoh
Diedit pada 2020-04-07
Anda juga dapat menggunakan perintah panggilan .
Contoh:
sumber
access denied
di konsol. Opsi kedua berfungsi dengan baik!>>
yang pertama tidak melakukan apa-apa, yang kedua menambahkan baris di akhir file. Jawaban yang benar adalah superuser.com/questions/10426/…Windows tidak termasuk
touch
perintah.Anda dapat menggunakan salah satu versi publik yang tersedia atau Anda dapat menggunakan versi Anda sendiri. Simpan kode ini sebagai
touch.cmd
dan letakkan di suatu tempat di jalur AndaIni akan mengulangi daftar argumennya, dan untuk setiap elemen jika ada, perbarui cap waktu file, jika tidak, buatlah.
sumber
Anda dapat menggunakan perintah ini: ECHO >> filename.txt
itu akan membuat file dengan ekstensi yang diberikan di folder saat ini.
MEMPERBARUI:
untuk penggunaan file kosong: salin NUL filename.txt
sumber
type NUL > filename
(membuat file 0 byte)type NUL >> filename
Jawabannya salah, itu hanya berfungsi ketika file tidak ada. Jika file ada, menggunakan yang pertama tidak melakukan apa-apa, yang kedua menambahkan baris di akhir file.
Jawaban yang benar adalah:
Saya menemukannya di sini: /superuser/10426/windows-equivalent-of-the-linux-command-touch/764721#764721
sumber
Saya terkejut berapa banyak jawaban di sini yang salah . Menggema apa pun ke dalam file akan mengisi file dengan sesuatu seperti
ECHO is ON
, dan mencoba untuk menggema$nul
ke dalam file akan benar-benar menempatkan$nul
ke dalam file. Selain itu untuk PowerShell, gema$null
ke dalam file tidak akan benar-benar membuat file 0kb, tetapi sesuatu dikodekan sebagaiUCS-2 LE BOM
, yang bisa berantakan jika Anda perlu memastikan file Anda tidak memiliki tanda urutan byte.Setelah menguji semua jawaban di sini dan merujuk beberapa yang serupa, saya dapat menjamin ini akan bekerja per shell konsol. Cukup ubah
FileName.FileExtension
path lengkap atau relatif dari file yang Anda inginkantouch
; terima kasih kepada Keith Russell untukCOPY NUL FILE.EXT
pembaruan:CMD dengan Pembaruan Timestamp
copy NUL FileName.FileExtension
Ini akan membuat file baru bernama apa pun yang Anda tempatkan alih-alih
FileName.FileExtension
dengan ukuran 0 byte. Jika file sudah ada pada dasarnya itu akan menyalin dirinya sendiri di tempat untuk memperbarui timestamp. Saya akan mengatakan ini lebih dari solusi dengan fungsionalitas 1: 1 dengantouch
tetapi saya tidak tahu ada alat bawaan untuk CMD yang dapat menyelesaikan memperbarui stempel waktu file tanpa mengubah konten lainnya.CMD tanpa Pembaruan Timestamp
if not exist FileName.FileExtension copy NUL FileName.FileExtension
Powershell dengan Pembaruan Timestamp
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file} else {(ls FileName.FileExtension ).LastWriteTime = Get-Date}
Ya, itu akan bekerja di konsol sebagai satu-liner; tidak ada persyaratan untuk menempatkannya dalam file skrip PowerShell.
PowerShell tanpa Pembaruan Timestamp
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file}
sumber
fsutil file CreateNew FileName.FileExtension 0
dengancopy NUL Filename.FileExtension
, karena yang terakhir ini lebih pendek dan melakukan hal yang sama.copy
lebihfsutil
tapi sudah beberapa saat ... aku cukup yakin bahwa ini bagaimana saya bahkan belajar tentangfsutil
haha! Saya akan mencoba mencari tahu mengapa ...Gunakan perintah berikut di baris perintah Anda:
Info parameter sebagai berikut:
fsutil - Utilitas sistem file (executable yang Anda jalankan)
file - memicu tindakan file
createnew - tindakan untuk dilakukan (membuat file baru)
nama file - secara harfiah nama file
requiredSize - akan mengalokasikan ukuran file dalam byte di file yang dibuat
sumber
NULL
s ... aneh ... jadi gunakan saja 0 ... menghasilkan kesalahan jika Anda melewatkan diperlukanSize .. .Di windows Power Shell, Anda dapat menggunakan perintah berikut:
atau
sumber
'New-Item' is not recognized as an internal or external command
Anda dapat meniru fungsi sentuhan dengan perintah berikut:
Apa yang dilakukan adalah upaya untuk menjalankan program yang disebut
$
, tetapi jika$
tidak ada (atau tidak dapat dieksekusi yang menghasilkan output) maka tidak ada output yang dihasilkan olehnya. Ini pada dasarnya adalah peretasan pada fungsionalitas, namun Anda akan mendapatkan pesan kesalahan berikut:Jika Anda tidak ingin pesan kesalahan maka Anda dapat melakukan salah satu dari dua hal:
Atau:
The
type
mencoba perintah untuk menampilkan isi nul, yang tidak apa-apa tetapi kembali EOF (akhir file) saat membaca.2>nul
mengirimkan error-output (output 2) ke nul (yang mengabaikan semua input saat ditulis ke). Jelas perintah kedua (dengan2>nul
) dibuat berlebihan olehtype
perintah karena lebih cepat untuk mengetik. Tetapi setidaknya Anda sekarang memiliki pilihan dan pengetahuan.sumber
%ERRORLEVEL%
selalu non-nol. Anda dapat memperbaiki masalah itu dengan menambahkan noop|| cd.
, tetapi ini selalu mengatur kesalahan ke 0, yang mungkin tidak sesuai dengan yang Anda inginkan jika "sentuhan" gagal.Tidak ada perintah - tidak
type
jugaecho
- diperlukan untuk meniru perintah 'sentuh' Unix / Mac OS X di terminal Windows Powershell. Cukup gunakan singkatan berikut:Ini akan membuat file kosong bernama 'nama file' di lokasi Anda saat ini. Gunakan ekstensi nama file apa pun yang mungkin Anda perlukan, misalnya '.txt'.
Sumber: /superuser/502374/equivalent-of-linux-touch-to-create-an-empty-file-with-powershell (lihat komentar)
sumber
echo
$null > filename
mengirimkan output kosong ke nama file (jika Anda mengetahui maksud saya).echo
Di terminal baris perintah standar (cmd) yang Anda butuhkanecho
. Maaf bila membingungkan.Anda juga dapat menggunakan copy con [nama file] di jendela perintah Windows (cmd.exe):
Ini akan membuat file bernama
yourfile.txt
di direktori lokal.sumber
seperti yg disebutkan
bisa berupa file apa saja, dengan ekstensi apa pun lakukan
ini akan membuka file Anda di editor notepad
sumber
Saya menggunakan
cmder
(emulator baris perintah)Ini memungkinkan Anda untuk menjalankan semua perintah Linux di dalam mesin Windows.
Itu dapat diunduh dari https://cmder.net/
Aku benar-benar menyukainya
sumber
Dengan asumsi file ada dan Anda hanya perlu memperbarui cap waktu.
sumber
Dari Terminal Visual Code Studio pada Windows 10, inilah yang berhasil bagi saya untuk membuat file baru:
sumber
Jika Anda telah menginstal Cygwin di PC Anda, Anda dapat menggunakan executable yang disediakan untuk sentuhan (juga melalui command prompt windows):
sumber
Mudah, contohnya dengan file txt
sumber
$null
ke file.Ya, Anda dapat menggunakan Node for Touch. Saya hanya menggunakannya dan berfungsi baik di windows Cmd atau gitbash
sumber
[cmd]
, dan itu menyiratkan bahwa OP menginginkan jawaban yang sesuai untuk CMD, artinya tidak ada utilitas baris perintah yang tidak dipaket dengan instalasi Windows default. Itu akan mengecualikan hampir semua bahasa skrip, bahkan bahasa skrip Windows bawaan seperti CScript, WScript, dan PowerShell. Intinya bukan bahwa ia bekerja di CMD env, tetapi itu mungkin bagi siapa pun yang memiliki akses ke CMD, tidak termasuk masalah izin.